Inclure 1er paragraphe dans texte

Forum Microsoft Office Word

Modérateur : Argitxu

Inclure 1er paragraphe dans texte

Publicité
 

AlainD 06
Petit posteur
Petit posteur
Messages : 22
Enregistré le : 17 févr. 2018, 14:17

Inclure 1er paragraphe dans texte

Message non lu par AlainD 06 » 21 mai 2019, 09:02

Bonjour à tous.
J’ai à nouveau besoins de vos lumières malgré une recherche, sans sucées, dans tous les forums traitant de Word, mais quelques fois de mauvais mots entrainent de mauvais résultats
Je désire, dans une feuille Word, récupérer le premier paragraphe, qui représente le N° du département traité, pour l’inclure dans les lignes suivantes à un emplacement définit, à la place d’une suite de 7 espaces consécutifs, dans ces exemples, entre le N° XXXXX et le NOM des localités.
Exemple :
(83)
[APCC] N° 23523 BAGNOLS EN FORÊT GPS : N 43.5359, E 6.68895

[APCC] N° 20471 COLLOBRIÈRES GPS : N 43.236894, E 6.314192

[APCC] N° 23136 LA MOTTE GPS : N 43.48869, E 6.54208

Action que je fais manuellement dans la macro avant de la lancer, Replacement.Text = " ^p(83) ", dans un ensemble de macros enregistrées, grâce à l’aide de Marina, encore merci.
Code :
Sub MeP_Dep()
'
' MeP_Dep Macro
'
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = " "
.Replacement.Text = " ^p(82) "
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = True
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.HomeKey Unit:=wdStory
End Sub

J’espère avoir été clair, si ce n’est pas le cas je reste à votre disposition, dans l’attente de vos réponses.
Cordialement.
PS. Comment inclure le code dans une fenêtre différente.

Avatar du membre
m@rina
Administrateur
Administrateur
Messages : 1301
Enregistré le : 14 août 2009, 08:51
Contact :

Re: Inclure 1er paragraphe dans texte

Message non lu par m@rina » 23 mai 2019, 18:09

Bonjour,

Pas sûre d'avoir compris. Il s'agit de plusieurs documents et le numéro est toujours le premier paragraphe ? Ou bien c'est le premier paragraphe de chaque page ?
Et je n'ai pas compris non plus où tu veux l'intégrer.
Peut être serait il plus simple de me donner un fichier exemple.
m@rina

AlainD 06
Petit posteur
Petit posteur
Messages : 22
Enregistré le : 17 févr. 2018, 14:17

Re: Inclure 1er paragraphe dans texte

Message non lu par AlainD 06 » 23 mai 2019, 19:48

Bonjour Marina merci infiniment pour ce contact.
Un seul document par département et bien sur un seul N°
Je vais joindre un document Word avec quelques explications supplémentaires.
Cordialement.
Exemple Marina.docx
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

Avatar du membre
m@rina
Administrateur
Administrateur
Messages : 1301
Enregistré le : 14 août 2009, 08:51
Contact :

Re: Inclure 1er paragraphe dans texte

Message non lu par m@rina » 24 mai 2019, 01:59

Bonsoir

J''ai compris ! ;)

Voici la macro qui va fonctionner si le mot est bien le 2e mot du premier paragraphe (la parenthèse compte pour un mot). Si ce n'est pas le cas, il faudra juste changer la ligne "dpt".

Code : Tout sélectionner

Sub dpt()
Dim doc As Range
Dim dept As String
dpt = ActiveDocument.Paragraphs(1).Range.Words(2)

Set doc = ActiveDocument.Content
    doc.Find.ClearFormatting
    doc.Find.Replacement.ClearFormatting
    With doc.Find
        .Text = "       "
        .Replacement.Text = dpt
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchWildcards = True
        .Execute Replace:=wdReplaceAll
    End With
End Sub
m@rina
m@rina

AlainD 06
Petit posteur
Petit posteur
Messages : 22
Enregistré le : 17 févr. 2018, 14:17

Re: Inclure 1er paragraphe dans texte

Message non lu par AlainD 06 » 24 mai 2019, 09:03

Bonjour Marina.
Effectivement la ligne dpt pose problème, je me retrouve avec le message "Erreur de compilation, Fonction ou variable attendue", le titre de la macro en jaune avec la flèche et "dpt" en bleu.
Que faut-il changer sur la ligne dpt, et quels sont tous les changements que l'on peut faire?
Vois-tu à 73 ans j'en apprends tous les jours, mais il faut dire que je suis bien aidé, encore merci pour ta patience.

Avatar du membre
m@rina
Administrateur
Administrateur
Messages : 1301
Enregistré le : 14 août 2009, 08:51
Contact :

Re: Inclure 1er paragraphe dans texte

Message non lu par m@rina » 24 mai 2019, 18:47

Bonsoir Alain,

Ouppsss ! Désolée, je me suis emmêlée les pinceaux dans les noms de macro et de variable...
On va garder "dpt" pour la variable, et on peut mettre n'importe quoi d'autre pour la macro (j'ai mis "marina"...).

Donc voici la macro corrigée :

Code : Tout sélectionner

Sub marina()
Dim doc As Range
Dim dpt As String
dpt = ActiveDocument.Paragraphs(1).Range.Words(2)

Set doc = ActiveDocument.Content
    doc.Find.ClearFormatting
    doc.Find.Replacement.ClearFormatting
    With doc.Find
        .Text = "       "
        .Replacement.Text = dpt
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchWildcards = True
        .Execute Replace:=wdReplaceAll
    End With
End Sub
m@rina

AlainD 06
Petit posteur
Petit posteur
Messages : 22
Enregistré le : 17 févr. 2018, 14:17

Re: Inclure 1er paragraphe dans texte

Message non lu par AlainD 06 » 24 mai 2019, 19:29

Bonjour et merci Marina.
Il n-y a que ceux qui ne font rien qui ne se trompent pas :mdr: .
Je vais tester, mais pas de suite, de toutes façons je te tient au courant.
Je suis en train de revoir mes macros pour une bonne réorganisation, j'en ai 10 pages :lol: .
Cordialement.

AlainD 06
Petit posteur
Petit posteur
Messages : 22
Enregistré le : 17 févr. 2018, 14:17

Re: Inclure 1er paragraphe dans texte

Message non lu par AlainD 06 » 24 mai 2019, 20:53

De retour.
Bien après quelques essaies je n’arrive pas à obtenir
[ASN];CCI 787 (04) ALLOS ;44.24311, E 6.62322; 2015 Emplacement Gt Serv : 2 € EdF : 2 €/4 h ; FLOT BLEU; EP K7 WC
Je n’obtiens que cet exemple :
[ASN];CCI 787) ALLOS ;44.24311, E 6.62322; 2015 Emplacement Gt Serv : 2 € EdF : 2 €/4 h ; FLOT BLEU; EP K7 WC

Je ne vais pas te prendre plus de temps, par contre peux-tu me donner plus de renseignements sur cette ligne et les changements éventuels que l’on peu y faire :
dpt = ActiveDocument.Paragraphs(1).Range.Words(2)
Paragraphe j’ai compris, mais Range Words, quels changements en changent le nombre entre parenthèses ?
Encore un grand merci pour ton aide.

Avatar du membre
m@rina
Administrateur
Administrateur
Messages : 1301
Enregistré le : 14 août 2009, 08:51
Contact :

Re: Inclure 1er paragraphe dans texte

Message non lu par m@rina » 24 mai 2019, 23:45

Bonsoir,

En fait dans cette ligne Paragraphs(1) donne le premier paragraphe (un paragraphe est déterminé par un saut de paragraphe), et Words(2) c'est le deuxième mot de ce premier paragraphe.

Tu peux ajouter cette ligne à la suite

Code : Tout sélectionner

MsgBox dpt
tu auras ainsi une boîte de dialogue qui va te dire à quoi correspond la variable dpt, ça permet de vérifier.
m@rina

AlainD 06
Petit posteur
Petit posteur
Messages : 22
Enregistré le : 17 févr. 2018, 14:17

Re: Inclure 1er paragraphe dans texte

Message non lu par AlainD 06 » 25 mai 2019, 07:45

Bonjour et bonne fin de semaine.
Je vais tester ta boite.
Encore un GRAND MERCI pour ta disponibilité ta patience et gentillesse et surtout efficacité :merci: :merci: :merci: .

Répondre