Impression automatisée

Y compris Power BI, Power Query et toute autre question en lien avec Excel
E
Emmaude
Jeune membre
Jeune membre
Messages : 16
Inscrit le : 3 avril 2008

Message par Emmaude » 15 avril 2014, 11:37

Bonjour,

J'avais jusque la un système de facturation automatisée : lorsque je saisissais un code client dans une cellule excel, cela ma me lancait l'impression automatiquement. Cela fonctionne toujours, MAIS plus sur une unique cellule. Pour être plus claire (si possible :shock: ), mon code client est en cellule B17, mais je change également le mois de facturation, et la date de facturation sur cette facture. Résultat : dès que je fais une modification sur la feuille, peu importe quoi (insertion de ligne, colonne...) et ou, cela me lance une impression...

Voici le code (que je recopie bêtement, ce n'est absolument pas moi qui est fait cette macro, c'est bien trop compliqué) :

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("B17") <> "" Then
Sheets("FACT MENS").PrintOut
End If
End Sub

Comme je suis écolo, j'aimerai bien résoudre ce problème (enfin, vous, parce que me concernant, c'est mal parti... :oops: )

merci pour votre aide !
Avatar du membre
zarik
Membre fidèle
Membre fidèle
Messages : 268
Appréciation reçue : 1
Inscrit le : 14 mars 2014
Version d'Excel : 2007 FR

Message par zarik » 15 avril 2014, 11:58

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("B17")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
         Set wsd = Sheets("FACT MENS")
         wsd.PrintOut
        End If
end if
End Sub
celle ci est censé demarrer lors du changement de la cellule B17.
Si tu as des calcul qui se font entre temps, j'ignore si ils vont se faire a temps... :oops:
a tester.
Mieux vaut allumer une bougie que maudire les ténèbres.
B
Benead
Membre fidèle
Membre fidèle
Messages : 455
Inscrit le : 15 octobre 2011
Version d'Excel : 2007 FR 32bits- 2013 FR 64bits

Message par Benead » 16 avril 2014, 03:15

Bonsoir,

D'après ton code, ton document s'imprime à partir du moment ou B17 n'est pas vide, je suppose donc qu'elle contient ton code client. Si tu supprimes le code client, l'impression ne se fera plus.

En autre alternative à la réponse de Zarik, tu peux simplement remplacer :
If Range("B17") <> "" Then
par
If Target.Address(0, 0) = "B17" And Target <>"" Then
A+
Benoît Marchand
[Benead]
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message