Publipostage en gardant les checkbox actives ???

  • Initiateur de la discussion Initiateur de la discussion brice59
  • Date de début Date de début

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 !

brice59

XLDnaute Occasionnel
Bonjour,

J'utilise une macro pour fusionner un document word selon une source.
Mais après fusion, les macros qui été affectés aux boutons disparaissent.

Comment faire pour conserver les macros ??

Merci
 
Dernière édition:
Re : Comment conserver les macros après avoir fusionné un document.

VOICI LA macro que j'utilise.




Dim W_NomDoc As String
Private Sub Document_Open()
Fusion
End Sub

Sub Fusion()
'
' Fusion Macro


' Ouverture de la source de données qui à le même nom que le fichier
'Dim W_NomDoc As String

W_NomDoc = Mid(ActiveDocument.Name, 1, Len(ActiveDocument.Name) - 4)
ActiveDocument.MailMerge.OpenDataSource Name:= _
ThisDocument.Path & "\" & W_NomDoc & ".txt", ConfirmConversions:=False, ReadOnly _
:=False, LinkToSource:=True, AddToRecentFiles:=False, PasswordDocument:= _
"", PasswordTemplate:="", WritePasswordDocument:="", _
WritePasswordTemplate:="", Revert:=False, Format:=wdOpenFormatAuto, _
Connection:="", SQLStatement:="", SQLStatement1:=""

'Exécution de la fusion word
With ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.MailAsAttachment = True
.MailAddressFieldName = ""
.MailSubject = ""
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=True
End With

Call Macro2

End Sub


Sub Macro2()

Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "|"
.Replacement.Text = "^l"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
ActiveDocument.Protect (wdAllowOnlyFormFields)



End Sub



et ma 2ème macro qui est sur un bouton.


Function RepertoireExiste(Chemin As String) As Boolean
On Error Resume Next
RepertoireExiste = GetAttr(Chemin) And vbDirectory
End Function

Private Sub CommandButton1_Click()


W_NomDoc = Mid(ActiveDocument.Name, 1, Len(ActiveDocument.Name) - 4)
ActiveDocument.MailMerge.OpenDataSource Name:= _
ThisDocument.Path & "\" & W_NomDoc & ".txt", ConfirmConversions:=False, ReadOnly _
:=False, LinkToSource:=True, AddToRecentFiles:=False, PasswordDocument:= _
"", PasswordTemplate:="", WritePasswordDocument:="", _
WritePasswordTemplate:="", Revert:=False, Format:=wdOpenFormatAuto, _
Connection:="", SQLStatement:="", SQLStatement1:=""



Dim Chemin As String, NomRep As String, NomDossier As String, Code As String, Nom As String, Prénom As String
Chemin = "J:\Documents de suivi\test\NomDossier"
NomRep = Dir(Chemin, vbDirectory)
Code = ActiveDocument.MailMerge.DataSource.DataFields(1).Value
Nom = ActiveDocument.MailMerge.DataSource.DataFields(2).Value
Prénom = ActiveDocument.MailMerge.DataSource.DataFields(3).Value
NomDossier = ActiveDocument.MailMerge.DataSource.DataFields(2).Value & " " & ActiveDocument.MailMerge.DataSource.DataFields(3).Value & " " & ActiveDocument.MailMerge.DataSource.DataFields(1).Value

If RepertoireExiste("J:\Documents de suivi\test\" & NomDossier) Then
Call ChangeFileOpenDirectory("J:\Documents de suivi\test\" & NomDossier)
Else
MkDir "J:\Documents de suivi\test\" & NomDossier
MsgBox "le dossier est créé"
End If
Call ChangeFileOpenDirectory("J:\Documents de suivi\test\" & NomDossier)
ActiveDocument.SaveAs FileName:="nom du document" & " " & Nom & " " & Prénom & " " & Code & " " & Format(Now, "dd mmmm yyyy") & " " & Format(n + 1, "000") & ".doc"

End Sub


la macro fonctionne correctement lorsque je la lance du document d'origine, mais lorsque la fusion est faite, les macros ne sont pas dupliquées sur le document fusionné donc le bouton est bien présent, mais ne fonctionne pas
 
Dernière édition:
Re : Comment conserver les macros après avoir fusionné un document.

Bonjour
Bise à TotoTiti

C'est normal le document de fusion ne contient que du texte obtenu par la fusion de celui du document type et de celui des variables. Ce n'est pas un duplicata complet du document type.

Si veux y insérer des macros il faut les copier : dans 2003 tu accèdes à cela dans Outils, Modèles et compléments, Organiser, Onglet Macros. Reste à automatiser ensuite dans ton code.
 
Re : Comment conserver les macros après avoir fusionné un document.

Bonjour

A priori l'enregistreur fonctionne quand on coche l'option "faire confiance au projet visual basic" dans les options de sécurité.

Ce code marche en cochant la même option
Code:
    Application.OrganizerCopy Source:="chemin\nomFicher.extension",  _
        Destination:="chemin\nomFicher.extension", Name:="NomModule", _
        Object:=wdOrganizerObjectProjectItems
Un cas ne semble pas fonctionner : copie d'un module issu du modèle Normal.
 
Re : Comment conserver les macros après avoir fusionné un document.

Rien à faire ça fonctionne pas du tout.

Je me demande si il ne serait pas plus simple de faire autrement .....

Est-il possible de stoker cette foutue macro sur le C:/
et d'utiliser ensuite une macro pour l’insérer dans le document ...
 
Re : Comment conserver les macros après avoir fusionné un document.

j'ai la version 2007.

J'ai réussi 1 fois à copier une macro, mais alors je sais pas du tout comment j'ai fait, et impossible de le refaire.
Mais en tout cas c'est possible
 
Re : Publipostage en gardant les checkbox actives ???

voilà plusieurs jours/ semaines que je suis là dessus, mais pas moment de trouver.

Je vais reposer ma question autrement.

Comment faire pour conserver les checkbox, et autres champs active après fusion ????
 
- 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

  • Question Question
Réponses
5
Affichages
541
Réponses
1
Affichages
204
Réponses
3
Affichages
474
  • Question Question
Microsoft 365 Publipostage WORD
Réponses
2
Affichages
977
Retour