Appel de fonctionvb via msbox

Bonjour,

je n'arrive pas à appeler 2 fonctions en fonction d'une réponse de MsgBox.

Si la réponse est oui, j'appel la procédure Question 2

Sinon, je rempli la cellule J4 avec N puis j'appelle la procédure Question 3

Sub Question1()

Dim réponse As Integer
réponse = MsgBox("Question ?", vbQuestion + vbYesNo)

If réponse = vbYes Then Call Question2

Else

Range("J4") = "N"
Call Question3
End If

End Sub

Pourriez-vous m'aider sur ce problème ?

Merci par avance

bonjour,

essaie ainsi

Sub Question1()

    Dim réponse As Integer
    réponse = MsgBox("Question ?", vbQuestion + vbYesNo)

    If réponse = vbYes Then
        Call question2
    Else
        Range("J4") = "N"
        Call question3
    End If

End Sub

Merci beaucoup, cela fonctionne comme je le voulais.

Par contre je ne vois pas la différence si ce n'est un saut de ligne au niveau du "Then".

Peux tu m'expliquer mon erreur ?

Merci par avance

bonjour,

Par contre je ne vois pas la différence si ce n'est un saut de ligne au niveau du "Then".

c'est bien là qu'était ton erreur.

l'instruction IF a 2 formats soit sur une ligne soit sur plusieurs lignes

sur une ligne :

la syntaxe générale est :

If condition then action si vrai else action si faux

les instructions qui suivent ne sont plus liées à ce test (pas de end if !)

sur plusieurs lignes :

la syntaxe générale est :

if condition then
'instructions à exécuter en séquence si vrai
else (ou elseif si on veut enchainer plusieurs tests)
'instructions à exécuter en séquence si faux
end if 'indique la fin des instructions pour ce test

Merci beaucoup h2so4

Rechercher des sujets similaires à "appel fonctionvb via msbox"