Tester existence tableau/variable VBA

Bonjour !
J'ai un programme contenant une boucle Do while,
celle-ci :

Do While phrase(i) <> ""
If i = 0 Then
Call Majuscule_premiere_phrase(phrase(i))
MsgBox (phrase(i))
Else
Call Majuscule_phrase(phrase(i))
MsgBox (phrase(i))
End If
concatenation = concatenation & phrase(i) & "."
MsgBox (concatenation)
'contenu() = Application.WorksheetFunction.Proper(concatenation)
i = i + 1
Loop


Il sert à capter des phrases se trouvant dans une cellule (phrases splittées), et il met des majuscules après chaque points.
phrase(i) étant un tableau à i cases.
Cependant, l'éxecuteur ne ressort pas de cette boucle et donc ne peut pas passer à l'affichage dans les cellules. En effet, une fois arrivée à la dernière phrase de la cellule, la suivante n'existant pas, vba ne peut pas savoir si elle est vide ou non.

C'est pour cela que j'aurai besoin de votre aide, je souhaiterai "traduire" en vba : "Tant que phrase(i) existe ...". Si cela est possible bien évidemment (ce que j'espère!).

J'ai regardé sur des forums mais je ne trouve pas d'informations...

Merci beaucoup, bonne journée !

1 réponse

  1. 1
    1. Re !
      Cependant j'ai utilisé une autre façon d'y procéder.
      Je viens de créer une fonction bolléenne : False si la phrase contient 0 caractère et True sinon, et j'ai changé la condition de la boucle par " Do While Phrase_existe(phrase(i)) = True " or, le même problème revient : la boucle essaie de recommencer même lorsqu'il n'y a plus de phrase ! "Erreur d'exécution '9': L'indice n'appartient pas à la séletion." .... La ligne s'affichant en jaune étant celle du Do While. Quelle galère !
      0
    2. @marieasdTu devrais utiliser
      For i=LBound(phrase) to UBound(phrase)
      0
    3. J'essaie cela, je vous tiens au courant, merci !
      0
    4. Ca marche super bien, encore merci
      0