Prblme "end if"

  • Initiateur de la discussion dIDIER 2
  • Date de début
D

dIDIER 2

Guest
bonjour
A quoi correspond end if en vba.
En effet que je le mette ou que je ne le mette pas, je n'ai pas l'impression qu'il y est une grande différence.
Parfois lors de la recopie (coller copier) de macro, je suis même obligé de le suprimer pour que la macro fonctionne sinon cela bug.

End if sert surement a indiquer la fin de if, mais pourquoi le mettre si l'on peut s'en passer ?Qu'elle sont les consequence quand on le supprime ?

crdlmt
Dídíer2
 
S

steplof

Guest
salut à tous
Pendant que zon cherche son lien ;o))
pour en rajouter un peu,

end if sert à matérialiser un bloc if c'est à dire un if suivi de plusieurs instructions.
Si la condition n'est réalisée ton prog reprend après le end if en sautant TOUTES les instructions entre then et end if

SI pas de end if (sauf erreur de ma part) l'instruction doit être sur la même ligne que le then et condition réalisée ou pas, le programme continue ne sautant que l'instruction suivant le then.

Par exemple

If a=b then msgbox"bonjour a=b"
Msgbox "au revoir"

Cette suite d'instruction donnera
si a=b apparition dumessage "Bonjour a=b
puis au revoir même si a est différent de b.

if a =b then
msgbox"bonjour a=b"
msg box "aurevoir"
end if 'indispensable sinon erreur de compilation

Là si a est différent de b tu n'auras pas le au revoir.

Sinon surligne un if dans un code et appuie sur F1 tu auras toutes les explications nécessaires

BonWE
Steplof
 
Z

zon

Guest
Bonjour Didier,

Désolé Toujours un loopé avec Post VL( à priori un problème avec les liens)

Par contre Steplof, trés bonne explication.

Je te conseille d'aller faire le site suivant qui explique le maiement des VBA.

http://www.cathyastuce.com

A+++
 
D

dIDIER 2

Guest
merci pour vos réponses,
je comprend mieux
en faite je me sert de mon experience en basic (simple) pour réaliser mes codes vba (beaucoup de similitude au niveau des commandes simples).

et quand j'avais une instruction
avec if then else, par abitude je m'était tout sur la même ligne, ce qui ne m'obligé pas a mettre le end if. Lors d'un copier coller je remettait tout sur la même ligne en séparent les instruction par ": "

j'ai eté un peu dérouté car en basique (l'ancetre) on se servait de n° de ligne pour chaque code ainsi la commande goto etait automatiquement
suivi d'un numero de ligne.
Une ligne ne pouvait avoir qu'une seule suite d'instruction compléte.

voila pour la petite histoire,

merci et a bientôt

Dídíer 2
 

Discussions similaires

Réponses
21
Affichages
274

Statistiques des forums

Discussions
312 115
Messages
2 085 447
Membres
102 889
dernier inscrit
monsef JABBOUR