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:

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
 

Pièces jointes

  • macro impression si.xls
    478.5 KB · Affichages: 42
  • macro impression si.xls
    478.5 KB · Affichages: 38
  • macro impression si.xls
    478.5 KB · Affichages: 33

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+
 

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:

Discussions similaires