XL 2016 Erreur avec boucle Do while

Phillip

XLDnaute Occasionnel
Bonjour,

J'ai le code suivant pour imprimer des feuilles. Je veux pouvoir saisir le nom de la feuille à imprimer.

Ma boucle Do while plante quand j'ai les 2 conditions (avec OR), alors que ça marche si j'ai une seule condition. Que ne vois-je pas ?
VB:
Sub imprimeClasseur()
Dim I As String


I = InputBox("Saisir le nom de l'onglet à imprimer", "Impression")
Debug.Print I
Do While I <> "tata" Or I <> "toto"
    MsgBox ("Saisie non valide")
    I = InputBox("Saisir le nom de l'onglet à imprimer", "Impression")
Loop



'With ActiveWorkbook.Sheets(I)
'    .PageSetup.Orientation = xlPortrait
'    .CenterFooter = "Calculs pour "
'
'    .LeftMargin = Application.InchesToPoints(0.7)
'    .RightMargin = Application.InchesToPoints(0.7)
'    .TopMargin = Application.InchesToPoints(0.75)
'    .BottomMargin = Application.InchesToPoints(0.75)
'    .HeaderMargin = Application.InchesToPoints(0.3)
'    .FooterMargin = Application.InchesToPoints(0.3)
'    .CenterHorizontally = True
'    .CenterVertically = True
'    .PrintGridlines = False
'    .BlackAndWhite = False
'
'End With



ActiveWorkbook.Sheets(I).PrintOut
End Sub

Merci

Cordialement
 

patricktoulon

XLDnaute Barbatruc
Bonjour
dans ce contexte tu doit utiliser "And" car "Or" annule la première condition bien Evidemment
c'est logique ;)
et puis un do/loop avec un nouvel input ça n'est pas une bonne solution
tu peux faire une boucle sans do loop avec goto avec un seul input

ci dessous un exemple avec un max de 4 essaie ;au dela bye bye!!
VB:
Sub test()
    Dim I As String, counter&
re:
    I = InputBox("Saisir le nom de l'onglet à imprimer", "Impression")
    If I <> "tata" And I <> "toto" Then
        counter = counter + 1: MsgBox ("Saisie non valide")
        If counter <= 3 Then
            GoTo re
        Else: MsgBox "nombre de tentatives atteint bye bye!!!!": Exit Sub
        End If
    End If
ActiveWorkbook.Sheets(I).PrintOut
End Sub
;)
 

Statistiques des forums

Discussions
298 001
Messages
1 965 026
Membres
200 809
dernier inscrit
Ksiba