J'ai créé une macro qui a pour but de lancer une fusion vers un nouveau
document à partir de mon doc principal et de fermer le doc principal sans
enregistrement de modification.
Voici mon code:
Sub autoopen()
'
' autoopen Macro
' Macro créée le 20/09/2004 par JER
'
With ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = False
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=False
End With
Windows(1).Activate
ActiveDocument.Close no
End Sub
En fait cette macro marche très bien à condition que le nom de mon document
pricipal ne commence pas par certaines lettres.
Exemple:
Si le doc se nomme 'Copie de variables.doc' cela marche, il me reste donc
ouvert mon doc lettre type1.
Mais si mon doc se nomme 'toto de variables.doc', lettre type1 se ferme et
le doc principal donc non fusionné reste ouvert.
??????
J'ai fait le test sur plusieurs versions de word c'est toujours pareil.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Anacoluthe
Bonjour !
Ni bug, ni curiosité. C'est logique : Windows(1).Activate : vous activez la /1ère/ fenêtre donc si votre document principal est avant 'Lettre 1.doc' ce sera lui s'il est après ce sera 'lettre1.doc' qui sera activée et fermée. Utilisez plutôt les /noms/ des documents que leurs indices !!!
Anacoluthe « Pourquoi faire simple quand on peut faire compliqué ? » - Jacques ROUXEL
'JER' nous a écrit ...
Bonjour,
J'ai un problème currieux.
J'ai créé une macro qui a pour but de lancer une fusion vers un nouveau document à partir de mon doc principal et de fermer le doc principal sans enregistrement de modification.
Voici mon code:
Sub autoopen() ' ' autoopen Macro ' Macro créée le 20/09/2004 par JER ' With ActiveDocument.MailMerge .Destination = wdSendToNewDocument .SuppressBlankLines = False With .DataSource .FirstRecord = wdDefaultFirstRecord .LastRecord = wdDefaultLastRecord End With .Execute Pause:úlse End With Windows(1).Activate ActiveDocument.Close no End Sub
En fait cette macro marche très bien à condition que le nom de mon document pricipal ne commence pas par certaines lettres.
Exemple:
Si le doc se nomme 'Copie de variables.doc' cela marche, il me reste donc ouvert mon doc lettre type1.
Mais si mon doc se nomme 'toto de variables.doc', lettre type1 se ferme et le doc principal donc non fusionné reste ouvert.
??????
J'ai fait le test sur plusieurs versions de word c'est toujours pareil.
Merci d'avance pour votre aide.
Jer.
Bonjour !
Ni bug, ni curiosité. C'est logique :
Windows(1).Activate : vous activez la /1ère/ fenêtre donc
si votre document principal est avant 'Lettre 1.doc' ce sera lui
s'il est après ce sera 'lettre1.doc' qui sera activée et fermée.
Utilisez plutôt les /noms/ des documents que leurs indices !!!
Anacoluthe
« Pourquoi faire simple quand on peut faire compliqué ? »
- Jacques ROUXEL
'JER' nous a écrit ...
Bonjour,
J'ai un problème currieux.
J'ai créé une macro qui a pour but de lancer une fusion vers un nouveau
document à partir de mon doc principal et de fermer le doc principal sans
enregistrement de modification.
Voici mon code:
Sub autoopen()
'
' autoopen Macro
' Macro créée le 20/09/2004 par JER
'
With ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = False
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:úlse
End With
Windows(1).Activate
ActiveDocument.Close no
End Sub
En fait cette macro marche très bien à condition que le nom de mon document
pricipal ne commence pas par certaines lettres.
Exemple:
Si le doc se nomme 'Copie de variables.doc' cela marche, il me reste donc
ouvert mon doc lettre type1.
Mais si mon doc se nomme 'toto de variables.doc', lettre type1 se ferme et
le doc principal donc non fusionné reste ouvert.
??????
J'ai fait le test sur plusieurs versions de word c'est toujours pareil.
Ni bug, ni curiosité. C'est logique : Windows(1).Activate : vous activez la /1ère/ fenêtre donc si votre document principal est avant 'Lettre 1.doc' ce sera lui s'il est après ce sera 'lettre1.doc' qui sera activée et fermée. Utilisez plutôt les /noms/ des documents que leurs indices !!!
Anacoluthe « Pourquoi faire simple quand on peut faire compliqué ? » - Jacques ROUXEL
'JER' nous a écrit ...
Bonjour,
J'ai un problème currieux.
J'ai créé une macro qui a pour but de lancer une fusion vers un nouveau document à partir de mon doc principal et de fermer le doc principal sans enregistrement de modification.
Voici mon code:
Sub autoopen() ' ' autoopen Macro ' Macro créée le 20/09/2004 par JER ' With ActiveDocument.MailMerge .Destination = wdSendToNewDocument .SuppressBlankLines = False With .DataSource .FirstRecord = wdDefaultFirstRecord .LastRecord = wdDefaultLastRecord End With .Execute Pause:úlse End With Windows(1).Activate ActiveDocument.Close no End Sub
En fait cette macro marche très bien à condition que le nom de mon document pricipal ne commence pas par certaines lettres.
Exemple:
Si le doc se nomme 'Copie de variables.doc' cela marche, il me reste donc ouvert mon doc lettre type1.
Mais si mon doc se nomme 'toto de variables.doc', lettre type1 se ferme et le doc principal donc non fusionné reste ouvert.
??????
J'ai fait le test sur plusieurs versions de word c'est toujours pareil.
Merci d'avance pour votre aide.
Jer.
JER
Merc, mais le problème est que le nom de mon doc change, donc pour faire cela il faudrait que je récupère le nom e mon doc principal à l'ouverture de word mais je ne sais pas mettre le code en plac.
Merci d'avance.
Jer.
"Anacoluthe" a écrit dans le message de news:
Bonjour !
Ni bug, ni curiosité. C'est logique : Windows(1).Activate : vous activez la /1ère/ fenêtre donc si votre document principal est avant 'Lettre 1.doc' ce sera lui s'il est après ce sera 'lettre1.doc' qui sera activée et fermée. Utilisez plutôt les /noms/ des documents que leurs indices !!!
Anacoluthe « Pourquoi faire simple quand on peut faire compliqué ? » - Jacques ROUXEL
'JER' nous a écrit ...
Bonjour,
J'ai un problème currieux.
J'ai créé une macro qui a pour but de lancer une fusion vers un nouveau document à partir de mon doc principal et de fermer le doc principal sans enregistrement de modification.
Voici mon code:
Sub autoopen() ' ' autoopen Macro ' Macro créée le 20/09/2004 par JER ' With ActiveDocument.MailMerge .Destination = wdSendToNewDocument .SuppressBlankLines = False With .DataSource .FirstRecord = wdDefaultFirstRecord .LastRecord = wdDefaultLastRecord End With .Execute Pause:úlse End With Windows(1).Activate ActiveDocument.Close no End Sub
En fait cette macro marche très bien à condition que le nom de mon document pricipal ne commence pas par certaines lettres.
Exemple:
Si le doc se nomme 'Copie de variables.doc' cela marche, il me reste donc ouvert mon doc lettre type1.
Mais si mon doc se nomme 'toto de variables.doc', lettre type1 se ferme et le doc principal donc non fusionné reste ouvert.
??????
J'ai fait le test sur plusieurs versions de word c'est toujours pareil.
Merci d'avance pour votre aide.
Jer.
Merc, mais le problème est que le nom de mon doc change, donc pour faire
cela il faudrait que je récupère le nom e mon doc principal à l'ouverture de
word mais je ne sais pas mettre le code en plac.
Merci d'avance.
Jer.
"Anacoluthe" <nopub_anacoluthe@Ouanadoo.fr> a écrit dans le message de news:
eLeAVTBoEHA.2300@TK2MSFTNGP10.phx.gbl...
Bonjour !
Ni bug, ni curiosité. C'est logique :
Windows(1).Activate : vous activez la /1ère/ fenêtre donc
si votre document principal est avant 'Lettre 1.doc' ce sera lui
s'il est après ce sera 'lettre1.doc' qui sera activée et fermée.
Utilisez plutôt les /noms/ des documents que leurs indices !!!
Anacoluthe
« Pourquoi faire simple quand on peut faire compliqué ? »
- Jacques ROUXEL
'JER' nous a écrit ...
Bonjour,
J'ai un problème currieux.
J'ai créé une macro qui a pour but de lancer une fusion vers un nouveau
document à partir de mon doc principal et de fermer le doc principal sans
enregistrement de modification.
Voici mon code:
Sub autoopen()
'
' autoopen Macro
' Macro créée le 20/09/2004 par JER
'
With ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = False
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:úlse
End With
Windows(1).Activate
ActiveDocument.Close no
End Sub
En fait cette macro marche très bien à condition que le nom de mon
document pricipal ne commence pas par certaines lettres.
Exemple:
Si le doc se nomme 'Copie de variables.doc' cela marche, il me reste donc
ouvert mon doc lettre type1.
Mais si mon doc se nomme 'toto de variables.doc', lettre type1 se ferme
et le doc principal donc non fusionné reste ouvert.
??????
J'ai fait le test sur plusieurs versions de word c'est toujours pareil.
Merc, mais le problème est que le nom de mon doc change, donc pour faire cela il faudrait que je récupère le nom e mon doc principal à l'ouverture de word mais je ne sais pas mettre le code en plac.
Merci d'avance.
Jer.
"Anacoluthe" a écrit dans le message de news:
Bonjour !
Ni bug, ni curiosité. C'est logique : Windows(1).Activate : vous activez la /1ère/ fenêtre donc si votre document principal est avant 'Lettre 1.doc' ce sera lui s'il est après ce sera 'lettre1.doc' qui sera activée et fermée. Utilisez plutôt les /noms/ des documents que leurs indices !!!
Anacoluthe « Pourquoi faire simple quand on peut faire compliqué ? » - Jacques ROUXEL
'JER' nous a écrit ...
Bonjour,
J'ai un problème currieux.
J'ai créé une macro qui a pour but de lancer une fusion vers un nouveau document à partir de mon doc principal et de fermer le doc principal sans enregistrement de modification.
Voici mon code:
Sub autoopen() ' ' autoopen Macro ' Macro créée le 20/09/2004 par JER ' With ActiveDocument.MailMerge .Destination = wdSendToNewDocument .SuppressBlankLines = False With .DataSource .FirstRecord = wdDefaultFirstRecord .LastRecord = wdDefaultLastRecord End With .Execute Pause:úlse End With Windows(1).Activate ActiveDocument.Close no End Sub
En fait cette macro marche très bien à condition que le nom de mon document pricipal ne commence pas par certaines lettres.
Exemple:
Si le doc se nomme 'Copie de variables.doc' cela marche, il me reste donc ouvert mon doc lettre type1.
Mais si mon doc se nomme 'toto de variables.doc', lettre type1 se ferme et le doc principal donc non fusionné reste ouvert.
??????
J'ai fait le test sur plusieurs versions de word c'est toujours pareil.
Merci d'avance pour votre aide.
Jer.
Anacoluthe
Bonjour !
'JER' nous a écrit ...
Merc, mais le problème est que le nom de mon doc change, donc pour faire cela il faudrait que je récupère le nom e mon doc principal à l'ouverture de word mais je ne sais pas mettre le code en plac.
Utilisez alors une variable ! Avant la fusion : MonPrincipal = ActiveDocument.Name Après la fusion, remplacez votre Windows(1).Activate par Windows(MonPrincipal).Activate
Ceci dit, il n'est pas du tout nécessaire d'activer un document pour le fermer..... :-) Dim Principal as Document Set Principal = ActiveDocument ... Principal.Close
Anacoluthe « Pourquoi faire simple quand on peut faire compliqué ? » - Jacques ROUXEL
Bonjour !
'JER' nous a écrit ...
Merc, mais le problème est que le nom de mon doc change, donc pour faire
cela il faudrait que je récupère le nom e mon doc principal à l'ouverture de
word mais je ne sais pas mettre le code en plac.
Utilisez alors une variable !
Avant la fusion :
MonPrincipal = ActiveDocument.Name
Après la fusion, remplacez votre Windows(1).Activate par
Windows(MonPrincipal).Activate
Ceci dit, il n'est pas du tout nécessaire d'activer un document
pour le fermer..... :-)
Dim Principal as Document
Set Principal = ActiveDocument
...
Principal.Close
Anacoluthe
« Pourquoi faire simple quand on peut faire compliqué ? »
- Jacques ROUXEL
Merc, mais le problème est que le nom de mon doc change, donc pour faire cela il faudrait que je récupère le nom e mon doc principal à l'ouverture de word mais je ne sais pas mettre le code en plac.
Utilisez alors une variable ! Avant la fusion : MonPrincipal = ActiveDocument.Name Après la fusion, remplacez votre Windows(1).Activate par Windows(MonPrincipal).Activate
Ceci dit, il n'est pas du tout nécessaire d'activer un document pour le fermer..... :-) Dim Principal as Document Set Principal = ActiveDocument ... Principal.Close
Anacoluthe « Pourquoi faire simple quand on peut faire compliqué ? » - Jacques ROUXEL
JER
Merci beaucoup.
Cela marche parfaitement.
A+
Jer
"Anacoluthe" a écrit dans le message de news: %
Bonjour !
'JER' nous a écrit ...
Merc, mais le problème est que le nom de mon doc change, donc pour faire cela il faudrait que je récupère le nom e mon doc principal à l'ouverture de word mais je ne sais pas mettre le code en plac.
Utilisez alors une variable ! Avant la fusion : MonPrincipal = ActiveDocument.Name Après la fusion, remplacez votre Windows(1).Activate par Windows(MonPrincipal).Activate
Ceci dit, il n'est pas du tout nécessaire d'activer un document pour le fermer..... :-) Dim Principal as Document Set Principal = ActiveDocument ... Principal.Close
Anacoluthe « Pourquoi faire simple quand on peut faire compliqué ? » - Jacques ROUXEL
Merci beaucoup.
Cela marche parfaitement.
A+
Jer
"Anacoluthe" <nopub_anacoluthe@Ouanadoo.fr> a écrit dans le message de news:
%23vgcgeBoEHA.3564@tk2msftngp13.phx.gbl...
Bonjour !
'JER' nous a écrit ...
Merc, mais le problème est que le nom de mon doc change, donc pour faire
cela il faudrait que je récupère le nom e mon doc principal à l'ouverture
de word mais je ne sais pas mettre le code en plac.
Utilisez alors une variable !
Avant la fusion :
MonPrincipal = ActiveDocument.Name
Après la fusion, remplacez votre Windows(1).Activate par
Windows(MonPrincipal).Activate
Ceci dit, il n'est pas du tout nécessaire d'activer un document
pour le fermer..... :-)
Dim Principal as Document
Set Principal = ActiveDocument
...
Principal.Close
Anacoluthe
« Pourquoi faire simple quand on peut faire compliqué ? »
- Jacques ROUXEL
Merc, mais le problème est que le nom de mon doc change, donc pour faire cela il faudrait que je récupère le nom e mon doc principal à l'ouverture de word mais je ne sais pas mettre le code en plac.
Utilisez alors une variable ! Avant la fusion : MonPrincipal = ActiveDocument.Name Après la fusion, remplacez votre Windows(1).Activate par Windows(MonPrincipal).Activate
Ceci dit, il n'est pas du tout nécessaire d'activer un document pour le fermer..... :-) Dim Principal as Document Set Principal = ActiveDocument ... Principal.Close
Anacoluthe « Pourquoi faire simple quand on peut faire compliqué ? » - Jacques ROUXEL