Sauvegegarder le document avec un nom trouvé dans ce doc
philoche63 Messages postés 14 Date d'inscription Statut Membre Dernière intervention -
C-Claire Messages postés 4014 Date d'inscription Statut Membre Dernière intervention - 6 janv. 2015 à 15:54
C-Claire Messages postés 4014 Date d'inscription Statut Membre Dernière intervention - 6 janv. 2015 à 15:54
A voir également:
- Le fichier à télécharger contient une liste de chats. triez-la comme dans le tableau ci-dessous (attention, on ne voit que le début…). quel est le mot formé par les 8 dernières lettres de la colonne code ?
- Le fichier à télécharger contient une liste de chats. triez-la comme dans le tableau ci-dessous (attention, on ne voit que le début…). quel est le mot formé par les 8 dernières lettres de la colonne code ? liste de chats triée nom âge race poids kaze 5 birman 4,6 sid 5 birman 4,3 shrek 5 birman 4,0 nuts 5 birman 3,9 spy 5 birman 3,8 lys 5 birman 3,7 batman 5 birman 3,5 leaf 5 birman 3,4 po 5 birman 3,3 kik 5 birman 2,7 scratch 5 birman 2,4 sprite 4 birman 4,6 nash 4 birman 4,5 ploum 4 birman 4,2 minz 4 birman 4,1 loup 4 birman 4,0 fritz 4 birman 3,9 miog 4 birman 3,7 nice 4 birman 3,5 spoon 4 birman 3,5 mint 4 birman 3,3 flop 4 birman 2,8 serge 4 birman 2,6 - Meilleures réponses
- Le fichier à télécharger contient une liste de chats.triez-la comme dans le tableau ci-dessous (attention, on ne voit que le début…).quel est le mot formé par les 8 dernières lettres de la colonne code ? - Meilleures réponses
- .Doc - Guide
- Comment récupérer un document dans le presse-papier samsung - Guide
- Comment reduire la taille d'un document - Guide
- Comment supprimer une page dans un document word - Guide
- Signer un document word - Guide
4 réponses
Merci de ta réponse mais à priori ca ne marche pas car je travaille sur le résultat de la fusion et donc je n'ai plus mes champs de fusion.
J'ai utilisé l'enregistreur de macro, j'ai vu le code généré mais comment faire quand je suis sur la ligne où se trouve le nom et le prénom pour dire que le prénom se situe entre le 7e et le 8e espace et que le nom se trouve se trouve se situe en le 8e et le 9e espace ??
Encore merci pour ton aide.
J'ai utilisé l'enregistreur de macro, j'ai vu le code généré mais comment faire quand je suis sur la ligne où se trouve le nom et le prénom pour dire que le prénom se situe entre le 7e et le 8e espace et que le nom se trouve se trouve se situe en le 8e et le 9e espace ??
Encore merci pour ton aide.
Avec votre aide, je suis tout proche du but !
J'ai bien recompté les paragraphes et la ligne où se trouve le nom de la personne se situe sur la 21e ligne.
Pour la 1ere fois la macro enregistre avec le nom de la personne mais pas sur le fichier découpé mais sur le publipostage.
Je vous redonne le code car étant novice, j'ai pas du mettre le code au bon endroit !
Un grand merci pour votre aide et votre patience !
a+
Philippe
J'ai bien recompté les paragraphes et la ligne où se trouve le nom de la personne se situe sur la 21e ligne.
Pour la 1ere fois la macro enregistre avec le nom de la personne mais pas sur le fichier découpé mais sur le publipostage.
Je vous redonne le code car étant novice, j'ai pas du mettre le code au bon endroit !
Sub BreakOnPage()
' Used to set criteria for moving through the document by page.
Application.Browser.Target = wdBrowsePage
For i = 1 To ActiveDocument.BuiltInDocumentProperties("Number of Pages")
'Select and copy the text to the clipboard.
ActiveDocument.Bookmarks("\page").Range.Copy
' Open new document to paste the content of the clipboard into.
Documents.Add
Selection.PasteAndFormat (wdFormatOriginalFormatting)
' Removes the break that is copied at the end of the page, if any.
Selection.TypeBackspace
ChangeFileOpenDirectory "F:\PDF CREATOR\"
'DocNum = DocNum + 1
Prenom = ActiveDocument.Paragraphs(21).Range.Words(7)
Nom = ActiveDocument.Paragraphs(21).Range.Words(8)
ActiveDocument.SaveAs FileName:=Nom & " " & Prenom & ".doc"
' ActiveDocument.SaveAs FileName:="test_" & DocNum & ".doc"
ActiveDocument.Close
' Move the selection to the next page in the document.
Application.Browser.Next
Next i
ActiveDocument.Close savechanges:=wdDoNotSaveChanges
End Sub
Un grand merci pour votre aide et votre patience !
a+
Philippe
Bonjour Philippe et merci, mais je n'ai fait que t'envoyer chez Microsoft :-)
Si le nom et le prénom de la personne sont dans 2 champs de fusion, tu devrais pouvoir récupérer leur valeur à l'aide de .DataFields.
Cela pourrait donner quelque chose comme :
Prenom = ActiveDocument.MailMerge.DataSource.DataFields(1).Value
Nom = ActiveDocument.MailMerge.DataSource.DataFields(2).Value
ActiveDocument.SaveAs FileName:=Nom & " " & Prenom & ".doc"
(1) et (2) sont les numéros d'ordre des champs dans ton fichier de données.
Si tu es sous Word 2007 ou ultérieur, tu peux enregistrer au format .docx.
Je ne suis pas une pro du VBA. Il y aura sans doute d'autres suggestions.
Si le nom et le prénom de la personne sont dans 2 champs de fusion, tu devrais pouvoir récupérer leur valeur à l'aide de .DataFields.
Cela pourrait donner quelque chose comme :
Prenom = ActiveDocument.MailMerge.DataSource.DataFields(1).Value
Nom = ActiveDocument.MailMerge.DataSource.DataFields(2).Value
ActiveDocument.SaveAs FileName:=Nom & " " & Prenom & ".doc"
(1) et (2) sont les numéros d'ordre des champs dans ton fichier de données.
Si tu es sous Word 2007 ou ultérieur, tu peux enregistrer au format .docx.
Je ne suis pas une pro du VBA. Il y aura sans doute d'autres suggestions.
Tu peux utiliser l'instruction suivante qui sélectionne le 8e mot de la ligne et qui le copie
Selection.MoveRight Unit:=wdWord, Count:=7, Extend:=wdExtend
Selection.Copy
Tu modifies la valeur Count pour le mot suivant.
Autres pistes sans doute meilleures : utiliser des signets dans ton document type afin que le prénom et le nom soient identifiés et que tu puisses t'y référer dans le résultat de la fusion et donc dans l'instruction SaveAs ou utiliser les propriétés du document et y plaçant le nom et le prénom.
C-Claire
Comment lui faire comprendre que je veux mettre le 7e mot dans une variable 'NomAgent' ?
Nous avons utilisé l'enregistreur de macro pour arriver sur la ligne où se trouve le nom de la personne (ce sont les lignes qui commencent par Selection.
Voici le code :
Concernant les signets j'y crois pas trop étant donné que le document de fusion est pris en charge par notre logiciel de paie pour la génération de ce publipostage mais je vais me renseigner pour les prochaines fois.
Un grand merci pour ton aide.
a+
Tu as dit que la personne est sur la 26e ligne. Si tes lignes = des paragraphes alors tu indiques bien (26) dans l'instruction ci-dessous. Si ce sont des lignes, compte les paragraphes.
Prenom = ActiveDocument.Paragraphs(26).Range.Words(8)
Nom = ActiveDocument.Paragraphs(26).Range.Words(9)
ActiveDocument.SaveAs FileName:= Nom & " " & Prenom & ".docx"
Les 2 premières instructions mémorisent les nom et prénom.
C-Claire
Mais cette fois-ci il bloque et j'ai le message :
"le membre de la collection requis n'existe pas"
Qu'en dis tu ?
merci pour ton aide
a+
Il faut déclarer les variables. Sous la "Sub" ajoute
Dim Prenom
Dim Nom
C-Claire