Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

print avec condition

  • Initiateur de la discussion Initiateur de la discussion GHISLAIN
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
272
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…