bonsoir a tous,
me revoilà avec mon code
pour enregistrer un nom de fichier à un endroit désigné et en utilisant le texte de champs de publipostage et de signets se trouvant dans le document servant de modèle pour éditer des courriers.Sub Macro1()
'Enregistrement auto du fichier
attention = ActiveDocument.MailMerge.DataSource.DataFields(1).Value
contact = ActiveDocument.MailMerge.DataSource.DataFields(3).Value
fonction = ActiveDocument.MailMerge.DataSource.DataFields(4).Value
designation = ActiveDocument.MailMerge.DataSource.DataFields(5).Value
agence = ActiveDocument.MailMerge.DataSource.DataFields(6).Value
service = ActiveDocument.MailMerge.DataSource.DataFields(7).Value
Objet = ActiveDocument.Bookmarks("Objet").Range.Text
Envoie = ActiveDocument.Bookmarks("Envoie").Range.Text
ActiveDocument.SaveAs FileName:="C:\Users\Corsaire 98\Documents\Courriers\Courrier " & attention & " " & contact & " " & fonction & " " & designation & " " & agence & " " & service & " - " & Objet & " - " & Envoie & " - " & Format(Date, "dd-mm-yyyy") & ".doc"
End Sub
dans le code présent si l'un des champs est vide, le nom du fichier se retrouve avec deux espace " " à la suite se qui donne " ".
il y a donc des espaces de trop due au champs vide si ils ne sont pas renseignés.
je pensais ajouté une fonction If de cette façon.
ActiveDocument.SaveAs FileName:=... & If (attention="" then "" else attention & " ") ... & ".doc"
si le champ attention est vide vba le désigne comme "".
si c'est le cas je voudrais que " " aprés devienne "" dans mon nom de fichier,
et si le texte du champ attention apparait je veux qu'il soit suivit d'un " ".
et ainsi de suite pour tous les autres champs inclus dans mon nom de fichier.
je sais utiliser la fonction SI sous excel et IF en basic mais pas en vba, quelqu'un pourrais me renseigner ?
merci par avance de votre aide.
Partager