Bonsoir à toutes et à tous,
Je n'arrive pas à sortir d'une boucle "multi-conditions" alors que si je restreins la condition à 1 critère (ex : Reponse <> "s" , le code se poursuit …
pour mémoire, Type:=1 force en numérique et Type:=2 force en texte (chaine)
Quelqu'un a-t-il une idée qui fait que je ne peux pas appliquer plus d'un critère ?
Merci d'avance
xxxxxxxxxxxxx les codes xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sub ChoixTraitement() ' je ne sors pas de la boucle avec ce code
Dim Reponse As Variant
Do While Reponse <> "s" Or Reponse <> "S" Or Reponse <> "m" Or Reponse <> "M"
Reponse = Application.InputBox("Saisissez le type de traitement souhaité : s = semaine, m = mois " + vbCrLf + _
vbCrLf + vbCrLf + "Cette question apparaît tant qu'une réponse valable " + vbCrLf + "ne sera pas saisie !", Type:=2)
Loop
MsgBox "OK, poursuite de la procédure."
End Sub
alors qu'avec un "multi-critère" numérique, ça fonctionne (voir ci-dessous) :
Sub Saisie_mois() ' je sors de la boucle avec ce code
Dim Reponse As Variant
Do While Reponse > 12 Or Reponse <= 0 Or Reponse <> Int(Reponse)
Reponse = Application.InputBox("Saisissez un chiffre entier correspond au mois de " + vbCrLf + _
"l'analyse souhaitée (1 = janvier, 12 = décembre)" _
+ vbCrLf + vbCrLf + "Cette question apparaît tant qu'une réponse valable " + vbCrLf + "ne sera pas saisie !", Type:=1)
Loop
MsgBox "OK, poursuite de la procédure."
End Sub
Je n'arrive pas à sortir d'une boucle "multi-conditions" alors que si je restreins la condition à 1 critère (ex : Reponse <> "s" , le code se poursuit …
pour mémoire, Type:=1 force en numérique et Type:=2 force en texte (chaine)
Quelqu'un a-t-il une idée qui fait que je ne peux pas appliquer plus d'un critère ?
Merci d'avance
xxxxxxxxxxxxx les codes xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sub ChoixTraitement() ' je ne sors pas de la boucle avec ce code
Dim Reponse As Variant
Do While Reponse <> "s" Or Reponse <> "S" Or Reponse <> "m" Or Reponse <> "M"
Reponse = Application.InputBox("Saisissez le type de traitement souhaité : s = semaine, m = mois " + vbCrLf + _
vbCrLf + vbCrLf + "Cette question apparaît tant qu'une réponse valable " + vbCrLf + "ne sera pas saisie !", Type:=2)
Loop
MsgBox "OK, poursuite de la procédure."
End Sub
alors qu'avec un "multi-critère" numérique, ça fonctionne (voir ci-dessous) :
Sub Saisie_mois() ' je sors de la boucle avec ce code
Dim Reponse As Variant
Do While Reponse > 12 Or Reponse <= 0 Or Reponse <> Int(Reponse)
Reponse = Application.InputBox("Saisissez un chiffre entier correspond au mois de " + vbCrLf + _
"l'analyse souhaitée (1 = janvier, 12 = décembre)" _
+ vbCrLf + vbCrLf + "Cette question apparaît tant qu'une réponse valable " + vbCrLf + "ne sera pas saisie !", Type:=1)
Loop
MsgBox "OK, poursuite de la procédure."
End Sub