modification macro impression, avec conditions

altinea

XLDnaute Accro
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
 
Dernière édition:

Paf

XLDnaute Barbatruc
Re : modification macro impression, avec conditions

Bonjour,

pas de macro dans le classeur joint !

A+
 

altinea

XLDnaute Accro
Re : modification macro impression, avec conditions

RE, le fichier contient la macro, le précédent avait été enregistré en xlx et non en xlm
 

Paf

XLDnaute Barbatruc
Re : modification macro impression, avec conditions

re,

désolé, plantage d'excel à l'ouverture du classeur (conversion 2003).

Bonne suite
 

Paf

XLDnaute Barbatruc
Re : modification macro impression, avec conditions

Re,

je peux l'ouvrir ! mais .... le classeur ne contient pas de macro !
 

altinea

XLDnaute Accro
Re : modification macro impression, avec conditions

voici, le fichier et au cas où le code de la macro qui est lancée à partir du bouton dan sla seconde feuille
merci encore

Sub Bouton1_Cliquer()
Dim Cel As Range
For Each Cell In Sheets("Formations PSST").Range("A4:A299")
Sheets("Base habilitation à la cond").Select
Range("o3").Value = Cell.Value
' Tester
If Cell.Value <> "" Then
' Faire la sélection pour le changement
ActiveCell.Select
ActiveSheet.PageSetup.PrintArea = "b2:eek:35"
ActiveSheet.PrintOut
Else
MsgBox "Les fichiers pdf ont été édités avec succès dans le dossier suivant : " & ThisWorkbook.Path
Exit Sub

End If
Next Cell
End Sub
 

Fichiers joints

Paf

XLDnaute Barbatruc
Re : modification macro impression, avec conditions

Re,

Le code suivant devrait faire l'affaire:

Code:
Sub Bouton1_Cliquer()
Dim Cel As Range, WS1 As Worksheet, WS2 As Worksheet, DerLig As Integer, i As Integer

Set WS1 = Worksheets("Formations PSST")
Set WS2 = Worksheets("Base habilitation à la cond")

DerLig = WS1.Range("A" & Rows.Count).End(xlUp).Row


For i = 4 To DerLig
    ' si le nom est imprimable et non imprimé
    If WS1.Range("CF" & DerLig) = 3 And WS1.Range("CG" & DerLig) <> "I" Then
        WS1.Range("CG" & DerLig) = "I" ' ecriture I en col CG
        WS2.Range("o3").Value = WS1.Cells(i, 1).Value
        
        WS2.PageSetup.PrintArea = "b2:o35"
        'WS2.PrintOut
        WS2.PrintPreview
     End If
  Next
MsgBox "Les fichiers pdf ont été édités avec succès dans le dossier suivant : " & ThisWorkbook.Path

End Sub
Pas pu tester correctement à cause des xlfn.IFERROR non supportés par XL 2003

A+
 

altinea

XLDnaute Accro
Re : modification macro impression, avec conditions

re , Paf, ben rien ne se passe, lorsque je clic sur le bouton juste la message box qui apparait mais pas d'impression
 

Paf

XLDnaute Barbatruc
Re : modification macro impression, avec conditions

re,
J'ai oubliéde supprimer WS2.PrintPreview qui ne fait qu'une prévisualisation

dans la colonne CF y a-t-il des 3 , condition pour être imprimable
et en colonne CG n'y a-t-il pas des I condition pour ne pas être imprimable ?

A+

Edit:

Grosse boulette :
remplacer
Code:
  If WS1.Range("CF" & DerLig) = 3 And WS1.Range("CG" & DerLig) <> "I" Then
        WS1.Range("CG" & DerLig) = "I" ' ecriture I en col CG
par
Code:
 If WS1.Range("CF" & i = 3 And WS1.Range("CG" & i) <> "I" Then
        WS1.Range("CG" & i) = "I" ' ecriture I en col CG
 
Dernière édition:

altinea

XLDnaute Accro
Re : modification macro impression, avec conditions

re, dans la colonne CF il y a des 3, par contre il n'y apas de I dans la CG, en fait je souhaitais qu'il y ait des I une fois que c'était imprimé pour ne pas les réimprimer plus tard
 

altinea

XLDnaute Accro
Re : modification macro impression, avec conditions

re
le plus important est qu'il m'imprime que les identifiant ayant un 3
 

Paf

XLDnaute Barbatruc
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
 

altinea

XLDnaute Accro
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
 

Paf

XLDnaute Barbatruc
Re : modification macro impression, avec conditions

Chez moi, les impressions s'enchainent les unes après les autres sans intervention.
Désolé, pas de solution
 

altinea

XLDnaute Accro
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

merci pour ton aide
 

Discussions similaires


Haut Bas