Bonsoir le forum,
j'ai une macro que je souhaiterai faire évoluer, par contre je ne sais pas faire.
Le but étant d'utiliser cette macro qui me permet d'imprimer comme en version publipostage mais ej en veux pas imprimer tous les documents. Je souhaiterai pouvoir imprimer les documents qui ont un 3 dans une colonne définie, puis pouvoir identifier dans une autre colonne que l'impression a été faite.
Merci pour votre aide
Re : modification macro impression, avec conditions
re,
réponse au post #13 : le code est prévu comme ça.
réponse au post #15 : j'avais modifié ma réponse du post #12 (la solution est là !) mais nos messages se sont croisés
A+
edit, il faut aussi enlever l'apostrophe devant WS2.PrintOut
Re : modification macro impression, avec conditions
ok oui j'ai bien la solution ça fonctionne, merci beaucoup.
Par contre as tu un moyen pourqu'il m'imprime tout d'un coup car je suis obligé à chaque création de valider
meric
Re : modification macro impression, avec conditions
Re, Merci beaucoup Paf ça fonctionne,
pourrais tu m'aider pour une macro stp
en fait je voudrais dans le meme fichier
si dans la cellule qui contient un 3 pour impression, si c'est inférieur à 3 alors efface le I dans la cellule contigue
Re : modification macro impression, avec conditions
Dans Excel 2003, je n'ai pas accès à la génération des PDF ;
Peut être y a-t-il moyen de "grouper" les feuilles à imprimer dans un seul PDF et d'imprimer ce PDF
Pour le problème du I à effacer, je n'ai pas trouvé de macro qui le fasse automatiquement dès que la cellule CF est <> 3
Par contre on peut rajouter le code à la macro d'impression Sub Bouton1_Cliquer()
juste après For i = 4 To DerLig, rajouter:
Code:
If WS1.Range("CF" & i) <> 3 Then WS1.Range("CG" & i) = ""
Re : modification macro impression, avec conditions
En fait le but est de supprimer les I car le 3 est fonction d'une périodicité, il peut être caduque, donc pas la peine d'imprimer donc avant l'impression l'idée est de faire la mise à jour, et effacer des I qui seraient obsolètes.
pour la macro j'avais ce genre d'idée
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cell As Range
For Each Cell In Intersect(Target, Columns("CF").Cells)
If Cell < 3 Then
efface les I obsolètes de la colonne CG
Next Cell
End Sub
Une autre questions est il possible de nommer le fichier du nom de la fiche??
Re : modification macro impression, avec conditions
j'avais pensé à cette macro dans Worksheet_Change, le problème est que comme les cellules de la colonnes CF sont mises à jour par formule, l' évènement Worksheet_Change n'est pas déclenché . d'où l'idée d'intégrer cette mise à jour de la colonne CG à la macro d'impression; on pourrait l'intégrer dans Private Sub Workbook_Open() qui ferait la mise à jour à chaque ouverture du classeur:
Code:
Private Sub Workbook_Open()
Dim WS1 As Worksheet, DerLig As Integer, i As Integer
DerLig = WS1.Range("A" & Rows.Count).End(xlUp).Row
For i = 4 To DerLig
If WS1.Range("CF" & i) <> 3 Then WS1.Range("CG" & i) = ""
Next
End Sub
Une autre questions est il possible de nommer le fichier du nom de la fiche??