print avec condition

GHISLAIN

XLDnaute Impliqué
bonjour a tous

j'utilise le code si dessus pour imposer la saisie d 'une date avant impression
le code fonctionne et m'oblige a saisir mais ce code s effectue egalement si je souhaite imprimer une feuille
differente ce que je ne soutaite pas .

Private Sub Workbook_BeforePrint(Cancel As Boolean)

If Sheets("code10").Range("Q9") = "" Then
Dim VDate As Variant
debut:
VDate = Application.InputBox("VEUILLEZ SAISIR LA DATE DE SAISIE SAP", "SELECTION")
If VarType(VDate) = vbBoolean Then GoTo debut

If VDate = "" Then ' SI VIDE
MsgBox "VEUILLEZ SAISIR LA DATE DE SAISIE SAP", vbCritical, "ATTENTION"
GoTo debut
Else

If Not IsDate(VDate) Then ' SI DATE SAISIE N'EST PAS UNE DATE
MsgBox "VEUILLEZ SAISIR UNE DATE VALIDE EX: 01/01/2009", vbCritical, "ATTENTION"
GoTo debut
Else
Sheets("code10").Range("Q9") = CDate(VDate)

' Verifie que la date est = ou superieure a la cellule J6
If Sheets("code10").Range("Q9") < Sheets("code10").Range("J6") Then

MsgBox "LA DATE SAISIE EST INFERIEURE A LA DATE X, VEUILLEZ RECTIFIER VOTRE SAISIE ", vbCritical, "ATTENTION"
Sheets("code10").Range("Q9") = ""
GoTo debut
Else
End If
End If
End If
End If
End Sub


j ai donc ajouté
If Sheets <> Sheets("code10") Then Exit Sub
ou
If not Sheets <> Sheets("code10").activate Then Exit Sub


mais sans résultat

d ou ma demande : je voudrai que se code s 'active uniquement lorsque je souhaite imprimer cette feuille "code10"
merci a tous de votre aide

amicalement

ghislain
 

Gorfael

XLDnaute Barbatruc
Re : print avec condition

Salut GHISLAIN et le forum
Pense à utiliser les balises pour le code (icone # en mode avancé)
Moi, j'aurais plutôt vu ça :
Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim VDate As Variant
If ActiveSheet.Name <> "code10" Then
    Cancel = True
    Exit Sub
End If
If Sheets("code10").Range("Q9") = "" Then
debut:
    VDate = Application.InputBox("VEUILLEZ SAISIR LA DATE DE SAISIE SAP", "SELECTION", Format(Date, "dd/mm/yyyy"))
    If VarType(VDate) = vbBoolean Then GoTo debut
    
    If VDate = "" Then ' SI VIDE
        MsgBox "VEUILLEZ SAISIR LA DATE DE SAISIE SAP", vbCritical, "ATTENTION"
        GoTo debut
    Else
        If Not IsDate(VDate) Then ' SI DATE SAISIE N'EST PAS UNE DATE
            MsgBox "VEUILLEZ SAISIR UNE DATE VALIDE EX: 01/01/2009", vbCritical, "ATTENTION"
            GoTo debut
        Else
            Sheets("code10").Range("Q9") = CDate(VDate)
            ' Verifie que la date est = ou superieure a la cellule J6
            If Sheets("code10").Range("Q9") < Sheets("code10").Range("J6") Then
                MsgBox "LA DATE SAISIE EST INFERIEURE A LA DATE X, VEUILLEZ RECTIFIER VOTRE SAISIE ", vbCritical, "ATTENTION"
                Sheets("code10").Range("Q9") = ""
                GoTo debut
            End If
        End If
    End If
End If
End Sub
A+
 

Statistiques des forums

Discussions
312 787
Messages
2 092 104
Membres
105 206
dernier inscrit
dlepage