Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1197 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [Résolu] [VBA] Boucle for qui déraille

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] [VBA] Boucle for qui déraille

n°1346293
kennybis
SeiGneuR des SaiGneuRz - SaiGn
Posté le 13-04-2006 à 17:12:35  profilanswer
 

Bonjour !
 
Je fais appel a vous car il m'arrive un truc que je n'explique pas. Lors d'une boucle "for" toute simple, ma variable incrémentée fait un bon de 24 pas, sans explications ! Je vous explique ma fonction, suivi du code, et des screenshots de mon api avec des espions qui vont bien pour vous faire constater la chose.
 
Ma fonction est un bouton Quit d'un Userform. Le userform est un editeur simple de listes de choix. Les listes sont ancrées dans une partie du tableau excel, mais cellules cachées. J'ai donc fait des fonctions pour pouvoir rajouter, modifier, supprimer et classer les membres de ces différentes listes.
Pour faire une liste de choix, il faut une formule exacte. Je stocke cette formule dans une case du meme tableau (toujours cachée !). Pour savoir combien de membres peuple ma liste, j'ai donc fait cette fonction :
 
 


 
 Private Sub CommandButton4_Click()
'r1 est un offset, car la ligne 1 de ma liste est la ligne 18 du tableau
r1 = 18
 
'j'initialise i histoire de dire.
i = 0
 
'je fais ma boucle for, car j'ai 6 listes a éditer
For i = 1 To 6
 
'ici, je choisis les données nécéssaires au traitements des listes
Select Case i
Case 1
'colonne de la liste
c1 = 143
'colonne de la formule
c2 = 166
'nom de la colonne de la liste
c3 = "EM"
 
Case 2
c1 = 160
c2 = 174
c3 = "FD"
 
Case 3
c1 = 177
c2 = 182
c3 = "FU"
 
Case 4
c1 = 195
c2 = 190
c3 = "GM"
 
Case 5
c1 = 212
c2 = 198
c3 = "HD"
 
Case 6
c1 = 218
c2 = 206
c3 = "HT"
 
End Select
 
'je fais une boucle Do qui compte le nombre de lignes de ma liste. Dès que la ligne est vide, il casse la boucle et passe a la suite
Do
'j est mon compteur
j = j + 1
'r1 est mon marqueur de ligne, c1 est mon marqueur de colonne
r1 = r1 + 1
Loop While Cells(r1, c1).Value <> ""
 
'les formules sont ancrées sur la ligne 15 (donc rentrées en dur)
Cells(15, c2).Value = "=$" & c3 & "$18:$" & c3 & "$" & j - 1 + 18
 
Next
 
'a la fin du traitement des 6 listes, on ferme le bousin
Me.Hide
End Sub


Le soucis est qu'au premier passage sur "Cells(15, c2).Value = "=$" & c3 & "$18:$" & c3 & "$" & j - 1 + 18", i passe de 1 a 25... Voyez par vous meme...
 
http://img61.imageshack.us/img61/4640/a7zl.gif
http://img142.imageshack.us/img142/1880/b9ty.gif
 
PLZ HELP  :sweat:


Message édité par kennybis le 14-04-2006 à 11:24:33
mood
Publicité
Posté le 13-04-2006 à 17:12:35  profilanswer
 

n°1346626
kennybis
SeiGneuR des SaiGneuRz - SaiGn
Posté le 14-04-2006 à 09:04:29  profilanswer
 

personne  :cry:  ?

n°1346649
tegu
Posté le 14-04-2006 à 09:53:22  profilanswer
 

Ta variable i est-elle déclarée globale à ton module de code ?
Est-elle utilisée dans une autre partie de ton code (événement _change par exemple) ?

n°1346754
kennybis
SeiGneuR des SaiGneuRz - SaiGn
Posté le 14-04-2006 à 11:24:14  profilanswer
 

=_=
 
mon Cells(x,y).Value = [...] déclenche l'évènement _change...
 
merci  :jap:


Message édité par kennybis le 14-04-2006 à 11:26:07

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [Résolu] [VBA] Boucle for qui déraille

 

Sujets relatifs
[VBA] [Excel]Evènement Workbook[C++/Qt/résolu] afficher avec un QCanvas, help!
[résolu][php] Edition online de pageAide fonction Dir (VBA)
Incompatibilités frameworks .NET 1 et 2 sur IIS ? [pt-e resolu][Resolu] Comment poster sans submit?
[VBA] [Excel] Chercher la première ligne après un graphique[RESOLU]Force Download gros fichier
boucle for suivit d'un typeerreur (de débutant) dans un batch windows [Résolu]
Plus de sujets relatifs à : [Résolu] [VBA] Boucle for qui déraille


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR