Tester existence tableau/variable VBA

Fermé
marieasd Messages postés 15 Date d'inscription jeudi 13 juillet 2017 Statut Membre Dernière intervention 19 juillet 2017 - Modifié le 18 juil. 2017 à 14:02
marieasd Messages postés 15 Date d'inscription jeudi 13 juillet 2017 Statut Membre Dernière intervention 19 juillet 2017 - 19 juil. 2017 à 09:27
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 !
A voir également:

1 réponse

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
18 juil. 2017 à 14:16
1
marieasd Messages postés 15 Date d'inscription jeudi 13 juillet 2017 Statut Membre Dernière intervention 19 juillet 2017
Modifié le 18 juil. 2017 à 15:12
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
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779 > marieasd Messages postés 15 Date d'inscription jeudi 13 juillet 2017 Statut Membre Dernière intervention 19 juillet 2017
18 juil. 2017 à 15:53
Tu devrais utiliser
For i=LBound(phrase) to UBound(phrase)
0
marieasd Messages postés 15 Date d'inscription jeudi 13 juillet 2017 Statut Membre Dernière intervention 19 juillet 2017
19 juil. 2017 à 07:54
J'essaie cela, je vous tiens au courant, merci !
0
marieasd Messages postés 15 Date d'inscription jeudi 13 juillet 2017 Statut Membre Dernière intervention 19 juillet 2017
19 juil. 2017 à 09:27
Ca marche super bien, encore merci
0