Boucle while en VBA
Résolu/Fermé4 réponses
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 428
11 avril 2011 à 21:21
11 avril 2011 à 21:21
bonsoir,
ce que j'ai compris
bonne suite
ce que j'ai compris
Const bmax = 30 Dim b As Long Dim a As Long a = 0 b = 1 If Sheets("Feuil1").Cells(b, 1).Value = "" Then a = 0 Sheets("Feuil3").Cells(b, 1).Value = a Else Sheets("Feuil3").Cells(b, 1).Value = Sheets("Feuil1").Cells(b, 1).Value End If For b = 2 To bmax If Sheets("Feuil1").Cells(b, 1).Value = "" Then If Sheets("Feuil1").Cells(b - 1, 1).Value <> "" Then a = a + 1 End If Sheets("Feuil3").Cells(b, 1).Value = a Else Sheets("Feuil3").Cells(b, 1).Value = Sheets("Feuil1").Cells(b, 1).Value End If Next b
bonne suite
Utilisateur anonyme
12 avril 2011 à 09:30
12 avril 2011 à 09:30
C'est exactement ça.
C'est vrai qu'un if fonctionne aussi bien qu'un while ici.
Merci beaucoup !
C'est vrai qu'un if fonctionne aussi bien qu'un while ici.
Merci beaucoup !
Utilisateur anonyme
12 avril 2011 à 14:28
12 avril 2011 à 14:28
Je suis désolé, je réouvre le sujet.
J'aimerais maintenant faire la même chose pour chacune de mais colonnes.
J'ai écrit ce code, mais il y a une erreur (1004)....
Merci encore !
J'aimerais maintenant faire la même chose pour chacune de mais colonnes.
J'ai écrit ce code, mais il y a une erreur (1004)....
Dim cmax As Long Dim c As Long cmax = 50000 For c = 1 To cmax Dim bmax As Long bmax = Sheets("Feuil1").Cells(65536, c).End(xlUp).Row Dim b As Long Dim a As Long a = 0 b = 1 If Sheets("Feuil1").Cells(b, c).Value = "" Then a = 0 Sheets("Feuil3").Cells(b, c).Value = a Else Sheets("Feuil3").Cells(b, c).Value = Sheets("Feuil1").Cells(b, c).Value End If For b = 2 To bmax If Sheets("Feuil1").Cells(b, c).Value = "" Then If Sheets("Feuil1").Cells(b - 1, c).Value <> "" Then a = a + 1 End If Sheets("Feuil3").Cells(b, c).Value = a Else Sheets("Feuil3").Cells(b, c).Value = Sheets("Feuil1").Cells(b, c).Value End If Next b Next c End Sub
Merci encore !
Utilisateur anonyme
12 avril 2011 à 14:35
12 avril 2011 à 14:35
Désolé, my mistake....
Il manque un End If
Il manque un End If
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 428
12 avril 2011 à 15:09
12 avril 2011 à 15:09
re
avant d'aller plus loin
Q1. cmax = 50000
es tu sur d'avoir 50000 colonnes à traiter?
Q2. ton erreur, sur quelle ligne de code se produit elle?
Q3. as tu regardé les valeurs des variables au moment du plantage?
avant d'aller plus loin
Q1. cmax = 50000
es tu sur d'avoir 50000 colonnes à traiter?
Q2. ton erreur, sur quelle ligne de code se produit elle?
Q3. as tu regardé les valeurs des variables au moment du plantage?