VBA Publipostage avec conditions

bonjour,

je travaille sur un fichier qui me sert a générer des documents mais je ne fusionne pas toutes les lignes de ma base.

j'ai crée un userform pour remplir ma base qui comporte ~30 valeurs par ligne et pour sélectionner des groupes de lignes correspondants aux n°lot.

voici ma base en schématisant :

colonne A = n°lot (1 à 60)

colonne B = référence (1 à 5 pour chaque n°lot)

colonne I = a fusionner (vrai/faux)

colonne C à AT = diverses valeurs reprise dans ma fusion

actuellement j'utilise le code suivant mais qui ne répond pas à mon besoin décrit ci-après :

Private Sub CommandButton5_Click()

'EDITION LETTRE SEULE

Set appWrd = CreateObject("Word.Application")

appWrd.Visible = True

Set docWord = appWrd.Documents.Add(Template:="chemin_réseau...\LETTRE.docx", NewTemplate:=False, DocumentType:=0)

With docWord.MailMerge

'Ouvre la base de données

.OpenDataSource Name:="chemin_réseau...\bd.xlsm", _

Connection:="Driver={Microsoft Excel Driver (*.xls)};" & _

"DBQ=" & NomBase & "; ReadOnly=True;", _

SQLStatement:="SELECT * FROM [Feuil1$] WHERE Faire_fusion = 'vrai' "

'Fusion

With docWord.MailMerge

.Destination = wdSendToNewDocument

With .DataSource

.FirstRecord = wdDefaultFirstRecord

End With

.Execute Pause = True

End With

'Fermeture du document Word

docWord.Close False

End With

End Sub

mon besoin :

sélectionner : pour chaque n°lot,

la 1ère référence dont la valeur à fusionner est "vrai"

sans prendre en compte les autres "vrai"

jusqu'au n°lot suivant.

mes connaissances en vba sont insuffisantes pour gérer ce problème. je suppose qu'il me faut passer par des variables, des boucles et des conditions mais ça me dépasse.

un coups de main serait le bien venu, merci d'avance

16bd.xlsm (168.61 Ko)

up

Rechercher des sujets similaires à "vba publipostage conditions"