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

impression autorisée seulement si cellule identiques

  • Initiateur de la discussion Initiateur de la discussion belaubre
  • Date de début Date de début
  • Mots-clés Mots-clés
    impression

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 !

B

belaubre

Guest
Bonjour à tous et à toutes,

Quel code pour traduire ceci :

Dans ma feuille excel nommée : CAISSE, si le montant dans cellule "F20" est différent de la cellule "M4", affiche un message "CALCUL INCORRECT : LES CELLULES F20 et M4 SONT DIFFÉRENTES" et refuser l'impression.

Mais si les cellules F20 et M4 sont identiques, alors imprimer.

Si vous pouviez m'aider, s'il vous plait.
 
Dernière modification par un modérateur:
Bonjour belaubre et bienvenue sur XLD 🙂

Je ne saisi pas: si le montant dans cellule "F20" est différent de la cellule "M4"; pourquoi dans le message tu te réfère à la colonne O?? 🙄


Salut,

Effectivement je me suis completement tromper, j'ai le cerveau qui fume désole ^^

J'ai apporter la correction dans ma question 😀
 
Salut Lone-Wolf, bonjour tous
Moi j'ai vu comme ça...sans col O
Ce code est à mettre en Thisworkbook
Bruno
VB:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name <> "CAISSE" Then Exit Sub
If [F20] <> [M4] Then
MsgBox "CALCUL INCORRECT :" & vbCr & "LES CELLULES 019 et 024 SONT DIFFÉRENTES"
Cancel = True 'annule impression
End If
End Sub
 
Bonjour Bruno 🙂

VB:
Sub Impression()
Dim x&, plage As Range, f As Range
Dim m As Range, rw1, rw2

    Sheets("CAISSE").Activate
  
    With ActiveSheet
        x = .Range("a" & Rows.Count).End(xlUp).Row
        Set plage = .Range("a1:m" & x): Set f = .Range("f20"): Set m = .Range("m4")
        rw1 = Replace(f.Address, "$", ""): rw2 = Replace(m.Address, "$", "")
      
        If .Range("f20") <> .Range("m4") Then
            MsgBox "CALCUL INCORRECT : LES CELLULES " & rw1 & " et " & rw2 & " SONT DIFFÉRENTES.", , "ERREUR"
        Else
            .PageSetup.PrintArea = plage.Address
            '.PrintPreview  pour visualiser
            '.PrintOut      pour imprimer
        End If
    End With
End Sub
 




Se code marche parfaitement, MERCI

J'ai pu l'intégrer à mon bouton raccourci.

Par contre si je fais, fichier --) imprimer,

Le message d'alerte ne se met pas et il est encore possible d'imprimer malgrès des montant différents entre F20 et M4 ? :O

Bizare
 
Re belaubre

Faudrait savoir. Tu demande d'abord que la feuille ne soit pas imprimée et maintenant tu dit le contraire?? 😵
Pour imprimer depuis Fichier >Imprimer, il faudrait faire une autre macro, et là c'est une autre histoire.

@youky(BJ) : pourquoi annuler l'impression, si la condition est correcte?? 😵
 



Désolé je me suis peut etre mal exprimer :O

Alors si les montants F20 et M4 sont identiques, l'impression est autorisée
Et si ils sont différents, je veux qu'ils soit totalement bloqués, ou enventuellement autoriser avec mot de passe.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

F
Réponses
9
Affichages
2 K
C
Réponses
1
Affichages
2 K
Cyrilio
C
H
Réponses
3
Affichages
1 K
Holistik
H
C
Réponses
3
Affichages
614
C
F
Réponses
2
Affichages
5 K
Francis200
F
F
Réponses
2
Affichages
3 K
FranckS
F
Réponses
5
Affichages
1 K
Compte Supprimé 979
C
P
  • Question Question
Réponses
1
Affichages
2 K
Patrosso
P
C
Réponses
8
Affichages
2 K
Genii
G
F
Réponses
6
Affichages
3 K
Francis200
F
D
Réponses
4
Affichages
1 K
D
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…