Voilà, j'ai une série de documents (+/-100) qui commencent tous de la même
manière sur les deux premières pages, mais pour automatiser une mise à jour
(vba excel), je veux y incorporer un signet dans chaque fichier.
Je voulais donc une petite macro pour ce faire, mais je me rend compte que
le déplacement dans word se fait de manière peu intuitive (MoveLeft,
MoveDown,...)
Sachant que le signet doit toujours être insérer sur la deuxième page, 7ème
ligne, colonne 12 à 34.
Evidement si je n'ai pas le choix, je ferait bien avec les MoveBlaBla.
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
Circé
Bonjour Mathieu,
C'est une mauvaise idée en VBA de vouloir se déplacer. Le mieux est d'utiliser l'objet RANGE qui va te permettre de définir une plage de ton document. Seulement l'objet RANGE prend en compte les mots, les paragraphes, les caractères, mais pas les pages ni les lignes qui peuvent être fluctuantes puisque c'est fonction de la police et de l'imprimante. Donc, regarde si l'objet range (avec paragraphes et caractères par exemple) peut s'appliquer à tes documents.
Dans ce cas, ta macro ressemblerait à ça :
Sub signet()
Dim emplacement As Range Set doc = ActiveDocument Set emplacement = ActiveDocument.Range(Start:=doc.Paragraphs(4).Range.Start, End:=doc.Paragraphs(5).Range.End)
Voilà, j'ai une série de documents (+/-100) qui commencent tous de la même manière sur les deux premières pages, mais pour automatiser une mise à jour (vba excel), je veux y incorporer un signet dans chaque fichier. Je voulais donc une petite macro pour ce faire, mais je me rend compte que le déplacement dans word se fait de manière peu intuitive (MoveLeft, MoveDown,...) Sachant que le signet doit toujours être insérer sur la deuxième page, 7ème ligne, colonne 12 à 34. Evidement si je n'ai pas le choix, je ferait bien avec les MoveBlaBla.
Merci de vos conseils. Mathieu
Bonjour Mathieu,
C'est une mauvaise idée en VBA de vouloir se déplacer.
Le mieux est d'utiliser l'objet RANGE qui va te permettre de définir
une plage de ton document.
Seulement l'objet RANGE prend en compte les mots, les paragraphes, les
caractères, mais pas les pages ni les lignes qui peuvent être
fluctuantes puisque c'est fonction de la police et de l'imprimante.
Donc, regarde si l'objet range (avec paragraphes et caractères par
exemple) peut s'appliquer à tes documents.
Dans ce cas, ta macro ressemblerait à ça :
Sub signet()
Dim emplacement As Range
Set doc = ActiveDocument
Set emplacement =
ActiveDocument.Range(Start:=doc.Paragraphs(4).Range.Start,
End:=doc.Paragraphs(5).Range.End)
Voilà, j'ai une série de documents (+/-100) qui commencent tous de la même
manière sur les deux premières pages, mais pour automatiser une mise à jour
(vba excel), je veux y incorporer un signet dans chaque fichier.
Je voulais donc une petite macro pour ce faire, mais je me rend compte que le
déplacement dans word se fait de manière peu intuitive (MoveLeft,
MoveDown,...)
Sachant que le signet doit toujours être insérer sur la deuxième page, 7ème
ligne, colonne 12 à 34.
Evidement si je n'ai pas le choix, je ferait bien avec les MoveBlaBla.
C'est une mauvaise idée en VBA de vouloir se déplacer. Le mieux est d'utiliser l'objet RANGE qui va te permettre de définir une plage de ton document. Seulement l'objet RANGE prend en compte les mots, les paragraphes, les caractères, mais pas les pages ni les lignes qui peuvent être fluctuantes puisque c'est fonction de la police et de l'imprimante. Donc, regarde si l'objet range (avec paragraphes et caractères par exemple) peut s'appliquer à tes documents.
Dans ce cas, ta macro ressemblerait à ça :
Sub signet()
Dim emplacement As Range Set doc = ActiveDocument Set emplacement = ActiveDocument.Range(Start:=doc.Paragraphs(4).Range.Start, End:=doc.Paragraphs(5).Range.End)
Voilà, j'ai une série de documents (+/-100) qui commencent tous de la même manière sur les deux premières pages, mais pour automatiser une mise à jour (vba excel), je veux y incorporer un signet dans chaque fichier. Je voulais donc une petite macro pour ce faire, mais je me rend compte que le déplacement dans word se fait de manière peu intuitive (MoveLeft, MoveDown,...) Sachant que le signet doit toujours être insérer sur la deuxième page, 7ème ligne, colonne 12 à 34. Evidement si je n'ai pas le choix, je ferait bien avec les MoveBlaBla.
Merci de vos conseils. Mathieu
Circé
Bonjour,
J'ai oublié d'ajouter que, une fois ta macro écrite pour un fichier, il te suffira de lancer la batchmacro magique d'anacoluthe pour l'exécuter sur tous tes documents.
La batchmacro se trouve sur la faq : http://faqword.free.fr/download.php?lng=fr&pgs6
Circé http://faqword.free.fr
Circé a émis l'idée suivante :
Bonjour Mathieu,
C'est une mauvaise idée en VBA de vouloir se déplacer. Le mieux est d'utiliser l'objet RANGE qui va te permettre de définir une plage de ton document. Seulement l'objet RANGE prend en compte les mots, les paragraphes, les caractères, mais pas les pages ni les lignes qui peuvent être fluctuantes puisque c'est fonction de la police et de l'imprimante. Donc, regarde si l'objet range (avec paragraphes et caractères par exemple) peut s'appliquer à tes documents.
Dans ce cas, ta macro ressemblerait à ça :
Sub signet()
Dim emplacement As Range Set doc = ActiveDocument Set emplacement = ActiveDocument.Range(Start:=doc.Paragraphs(4).Range.Start, End:=doc.Paragraphs(5).Range.End)
Voilà, j'ai une série de documents (+/-100) qui commencent tous de la même manière sur les deux premières pages, mais pour automatiser une mise à jour (vba excel), je veux y incorporer un signet dans chaque fichier. Je voulais donc une petite macro pour ce faire, mais je me rend compte que le déplacement dans word se fait de manière peu intuitive (MoveLeft, MoveDown,...) Sachant que le signet doit toujours être insérer sur la deuxième page, 7ème ligne, colonne 12 à 34. Evidement si je n'ai pas le choix, je ferait bien avec les MoveBlaBla.
Merci de vos conseils. Mathieu
Bonjour,
J'ai oublié d'ajouter que, une fois ta macro écrite pour un fichier, il
te suffira de lancer la batchmacro magique d'anacoluthe pour l'exécuter
sur tous tes documents.
La batchmacro se trouve sur la faq :
http://faqword.free.fr/download.php?lng=fr&pgs6
Circé
http://faqword.free.fr
Circé a émis l'idée suivante :
Bonjour Mathieu,
C'est une mauvaise idée en VBA de vouloir se déplacer.
Le mieux est d'utiliser l'objet RANGE qui va te permettre de définir une
plage de ton document.
Seulement l'objet RANGE prend en compte les mots, les paragraphes, les
caractères, mais pas les pages ni les lignes qui peuvent être fluctuantes
puisque c'est fonction de la police et de l'imprimante.
Donc, regarde si l'objet range (avec paragraphes et caractères par exemple)
peut s'appliquer à tes documents.
Dans ce cas, ta macro ressemblerait à ça :
Sub signet()
Dim emplacement As Range
Set doc = ActiveDocument
Set emplacement = ActiveDocument.Range(Start:=doc.Paragraphs(4).Range.Start,
End:=doc.Paragraphs(5).Range.End)
Voilà, j'ai une série de documents (+/-100) qui commencent tous de la même
manière sur les deux premières pages, mais pour automatiser une mise à jour
(vba excel), je veux y incorporer un signet dans chaque fichier.
Je voulais donc une petite macro pour ce faire, mais je me rend compte que
le déplacement dans word se fait de manière peu intuitive (MoveLeft,
MoveDown,...)
Sachant que le signet doit toujours être insérer sur la deuxième page, 7ème
ligne, colonne 12 à 34.
Evidement si je n'ai pas le choix, je ferait bien avec les MoveBlaBla.
J'ai oublié d'ajouter que, une fois ta macro écrite pour un fichier, il te suffira de lancer la batchmacro magique d'anacoluthe pour l'exécuter sur tous tes documents.
La batchmacro se trouve sur la faq : http://faqword.free.fr/download.php?lng=fr&pgs6
Circé http://faqword.free.fr
Circé a émis l'idée suivante :
Bonjour Mathieu,
C'est une mauvaise idée en VBA de vouloir se déplacer. Le mieux est d'utiliser l'objet RANGE qui va te permettre de définir une plage de ton document. Seulement l'objet RANGE prend en compte les mots, les paragraphes, les caractères, mais pas les pages ni les lignes qui peuvent être fluctuantes puisque c'est fonction de la police et de l'imprimante. Donc, regarde si l'objet range (avec paragraphes et caractères par exemple) peut s'appliquer à tes documents.
Dans ce cas, ta macro ressemblerait à ça :
Sub signet()
Dim emplacement As Range Set doc = ActiveDocument Set emplacement = ActiveDocument.Range(Start:=doc.Paragraphs(4).Range.Start, End:=doc.Paragraphs(5).Range.End)
Voilà, j'ai une série de documents (+/-100) qui commencent tous de la même manière sur les deux premières pages, mais pour automatiser une mise à jour (vba excel), je veux y incorporer un signet dans chaque fichier. Je voulais donc une petite macro pour ce faire, mais je me rend compte que le déplacement dans word se fait de manière peu intuitive (MoveLeft, MoveDown,...) Sachant que le signet doit toujours être insérer sur la deuxième page, 7ème ligne, colonne 12 à 34. Evidement si je n'ai pas le choix, je ferait bien avec les MoveBlaBla.