XL 2010 Macro impression dès qu'une case d'un onglet est saisie

vinceda

XLDnaute Junior
Bonjour à Tous,

me revoilà avec un Pb qui je pense sera de la rigolade pour les expert que vous êtes:
j'ai un classeur excel dans lequel sont regrouper 2 onglets:

1 onglet où je saisie des informations (feuille saisie) et un onglet qui les recopient sous une certaine forme en vue de s'éditer.

je souhaiterait, lorsque je saisie un code sur une cellule de la feuille "saisie" , cela lance automatiquement ma Macro Impression (voir ci-dessous):

VB:
Sub impression()
'
' impression Macro
''

 Sheets("Edition").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1
    Sheets("Saisie").Select
    Range("B4:C6").Select
    End If
End Sub

merci d'avance pour toute cette aide que vous pourrez m'apporter.
Vinceda
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Votre macro, telle qu'écrite ici doit bugger! End If sans If

Si votre cellule de la feuille 'Saisie' dans laquelle vous saisissez le code est A1, vous pouvez mettre le code suivant dans dans le module de code de la feuille 'Saisie' (clic-droit sur son onglet en bas puis 'visualiser le code'):
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "A1" Then Sheets("Edition").PrintOut Copies:=1
End Sub
Cordialement
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour le fil. Avec le test du bon code :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address="$A$1" Then               ' Remplacer A1 par la cellule concernée
        If Target.Value="J en sais rien"  Then  ' Remplacer par le bon code
            Call Impression
        End If
    End If
End Sub
( A mettre dans la feuille Saisie )
 

vinceda

XLDnaute Junior
Bonjour à tous les 2,

merci pour vos réponses.
Roblochon, effectivement je n'avais pas enlevé le End if de mes précédents essais..... cependant, quand je mets ton code dans l'onglet "Saisie, cela ne fonctionne pas... :-(
Sylvanu: merci également mais je n'ai pas une valeur précise a mettre dedans mais un numéro à 8 chiffres qui une fois inséré,doitgénérer l'impression d'étiquettes....
 

vinceda

XLDnaute Junior
je me rends compte que ma demande n'est peut-être pas très claire donc je vous mets en PJ mon fichier ...
je souhaite donc lorsque je saisie en B04 de la feuille "saisie" que l'impression se lance immédiatement (feuille "édition)

encore merci pour votre aide
 

Pièces jointes

  • TEST ETIQUETTES.xlsm
    42.4 KB · Affichages: 4

sylvanu

XLDnaute Barbatruc
Supporter XLD
Donc mon code n'était pas si mauvais.
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address="$B$4" Then               ' Remplacer A1 par la cellule concernée
        If Target.Value<>""  Then               ' Si B4 est rempli on imprime
            Call Impression
        End If
    End If
End Sub
On change A1 par B4 et la condition d'impression par <>"".
Ceci dit pour éviter de gaspiller du papier, j'aurais préférer un bouton. Ca permet de vérifier que c'est bon avant d'imprimer.
Avec cette méthode, dès que B4 n'est plus vide il imprime. D'où le risque d'imprimer n'importe quoi si on commet une erreur.
 

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 334
Membres
102 864
dernier inscrit
abderrashmaen