Mettre une condition dans une macro

Bonjour le forum,

J'ai récupéré une macro pour automatiser un publipostage mais mon problème c'est que celà imprime toutes mes adresses !

Alors que dans ma base de données, je mets dans la colonne A (à partir de A2) O-N pour imprimer ou non la ligne où il y a un O.

Serait-il possible d'ajouter cette condition dans la macro ci-dessous ?

D'avance merci pour votre aide

Private Sub Label4_Click()
     Dim docWord As Word.Document
     Dim appWord As Word.Application
     Dim NomBase As String

     NomBase = "F:\Publipostage Enveloppes\Adresses Frs.xls" 

     Application.ScreenUpdating = False
     Set appWord = New Word.Application
     appWord.Visible = True
     'Ouverture du document principal Word
     Set docWord = appWord.Documents.Open("F:\Publipostage Enveloppes\Gabarit Env 110 par 220.doc") 

     'fonctionnalité de publipostage pour le document spécifié
     With docWord.mailMerge
         'Ouvre la base de données
         .OpenDataSource Name:=NomBase, _
             Connection:="Driver={Microsoft Excel Driver (*.xls)};" & _
             "DBQ=" & NomBase & "; ReadOnly=True;", _
             SQLStatement:="SELECT * FROM [Feuil1$]"
         'Spécifie la fusion vers l'imprimante
         .Destination = wdSendToPrinter
         .suppressBlankLines = True
             'Prend en compte l'ensemble des enregistrements
             With .DataSource
                 .firstRecord = wdDefaultFirstRecord
                 .lastRecord = wdDefaultLastRecord
             End With
         'Exécute l'opération de publipostage
         .Execute Pause:=False
     End With

     Application.ScreenUpdating = True

     'Fermeture du document Word
     docWord.Close False
     appWord.Quit
 End Sub

Bonjour,

Rajoute une clause WHERE dans ta chaîne SQL du style (pas testé !) :

SQLStatement:="SELECT * FROM [Feuil1$] WHERE Imprimer ='O'"

Ici, "Imprimer" est le nom du champ, à adapter.

Hervé.

Bonjour theze, le forum,

je te remercie pour ta réponse, mais celà ne fonctionne pas. En effet, quand je lance l'automatisation il ouvre Word (avec le bon doc) me demande de confirmer la source des données (je réponds par via un DDE) et là l'ordi travaille et au bout de deux trois minutes me met qu'il n'a pas pu ouvrir la bdd !!!

A noter que quand je lance l'automatisation originelle il ne me demande rien.

Rechercher des sujets similaires à "mettre condition macro"