Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

modification macro impression, avec conditions

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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:
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😱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

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+
 
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:
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
884
Réponses
23
Affichages
2 K
Réponses
3
Affichages
655
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…