Tester existence tableau/variable VBA
marieasd
Messages postés
15
Statut
Membre
-
marieasd Messages postés 15 Statut Membre -
marieasd Messages postés 15 Statut Membre -
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 !
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:
- Tester existence tableau/variable VBA
- Tableau word - Guide
- Flash drive tester - Télécharger - Divers Utilitaires
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Tester son pc - Guide
1 réponse
Re,
Avec ce code pas besoin de splitter les phrases :
https://forums.commentcamarche.net/forum/affich-34721619-mettre-majuscule-apres-point-automatiquement#13
Avec ce code pas besoin de splitter les phrases :
https://forums.commentcamarche.net/forum/affich-34721619-mettre-majuscule-apres-point-automatiquement#13
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 !