Boucle while jusqu'à ce que la valeur soit le vide
Résolu
Robin
-
Robin -
Robin -
Bonjour,
J'ai un soucis avec la macros que je suis en train de créer en fait je chercher à faire une boucle while du type :
Le problème c'est que ma variable val1 atteint la limite de mon tableau alors que normalement c'est impossible je devrais rencontrer une ligne vide bien avant.
Pouvez vous m'aider ?
Pour info voici les dimensions de mes variables:
Merci d'avance
J'ai un soucis avec la macros que je suis en train de créer en fait je chercher à faire une boucle while du type :
While OF1(val1, 0).Value <> "" val1 = L + 1 While OF1(L, 0) = OF1(val1, 0) If OF1(val1, 7) = OF1(L, 7) Then If OF1(val1, 4) <> OF1(L, 4) & OF1(val1, 5) <> OF1(L, 5) Then OF2(Nolig, 5) = OF1(val1, 5) + OF1(L, 5) ElseIf OF1(val1, 4) = OF1(L, 4) & OF1(val1, 5) = OF1(L, 5) Then OF2(Nolig, 5) = OF1(L, 5) End If ElseIf OF1(val1, 7) <> OF1(L, 7) Then OF1(L, 2) = OF1(L, 2) + OF1(val1, 2) OF1(L, 7) = OF1(val1, 7) ElseIf OF1(val1, 1) = "L20" Then OF2(Nolig, 4) = OF1(val1, 4) ElseIf OF1(val1, 1) = "L30" Then OF2(Nolig, 3) = OF1(L, 3) ElseIf OF1(L, 1) = "L20" Then OF2(Nolig, 4) = OF1(val1, 4) ElseIf OF1(L, 1) = "L30" Then OF2(Nolig, 3) = OF1(L, 3) End If val1 = val1 + 1 Wend OF2(Nolig, 2) = OF1(L, 2) L = val1 Nolig = Nolig + 1 Wend
Le problème c'est que ma variable val1 atteint la limite de mon tableau alors que normalement c'est impossible je devrais rencontrer une ligne vide bien avant.
Pouvez vous m'aider ?
Pour info voici les dimensions de mes variables:
Dim val1 As Variant, Nolig As Long Dim L As Integer Dim OF1(100, 10) As Variant, OF2(10, 8) As Variant
Merci d'avance
A voir également:
- Boucle while jusqu'à ce que la valeur soit le vide
- Supprimer page word vide - Guide
- Caractere vide - Guide
- Formate pour taxer client frigo vide - Forum Vos droits sur internet
- Coeur vide ✓ - Forum Réseaux sociaux
- Code pour écrire un coeur VIDE : alt+??? ✓ - Forum Mail
2 réponses
Bonjour
Pour boucler sur une variable-tableau tu peux utiliser les fonctions Lbound
et Ubound
Lbound =1° "ligne" de OF1
Ubound Fin de OF1
Pour boucler sur une variable-tableau tu peux utiliser les fonctions Lbound
et Ubound
Lbound =1° "ligne" de OF1
Ubound Fin de OF1
For xxxx=Llbound(OF1) to Ubound(OF1)
ou
For xxxx=0 to Ubound(OF1)
.....
If OF1(val1, 0)="" then exit for
....
next
Merci beaucoup Michel, j'ai grandement amélioré la vitesse de calcul de ma macros désormais.
A bientôt