VBA : Eviter de revenir à la ligne

Résolu/Fermé
Utilisateur anonyme - 27 juil. 2013 à 21:59
 Utilisateur anonyme - 27 juil. 2013 à 23:52
Bonjour,
Ma question est assez simple : j'utilise le VBA pour mes macros excel. Lorsque je souhaite par exemple faire une boucle If, il m'est nécessaire de revenir à la ligne entre le "Then" et les instructions.

Exemple :
If bla = bla Then *retour à la ligne*
      instructions *retour à la ligne*
End If

Résultat : 3 lignes d'utilisées.

Pour des raisons évidentes d'affichage, existe-t-il une manière de faire cette boucle sur une seule ligne ?

Exemple :
If bla = bla Then instructions End If


Sur les calculettes TI par exemple, mettre le symbole ":" permet de remplacer le retour à la ligne. Sur d'autres langages, le retour à la ligne n'est pas nécessaire grâce à la présence de ";" à la fin de chaque instructions. Et sur VBA ?

Merci.

1 réponse

eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
Modifié par eriiic le 27/07/2013 à 23:19
Bonjour,

Tu as 2 syntaxe pour le If :
- sur 1 ligne :
If test=TRUE Then Instruction1
Instruction2

Les lignes suivant celle du If sont exécutées quelque que soit le résultat du test : Instruction2 est toujours exécuté. Le Endif est interdit, c'est une erreur de syntaxe.
A partir du moment où tu mets une instruction derrière le Then c'est un If à 1 ligne.
Si tu veux mettre 2 instructions pour un If sur 1 ligne, sépare-les par ":"
If test=TRUE Then Instruction1 : Instruction2

- sur plusieurs lignes :
If test=TRUE Then
instruction1
instruction2

Endif

Toutes les instructions entre le If et le Endif sont exécutées si le test est vrai.

eric

Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
0
Utilisateur anonyme
27 juil. 2013 à 23:52
Génial, merci.
0