Je suis en cours de finition de tableaux d'analyses dont je dois faire
parvenir des résultats (selon le destinataire), et à plusieurs destinataires
(en fonction des résultats). Donc beaucoup de croisements d'informations ...
Dans des courriers, réalisés sous Word, je souhaite qu'Excel prenne la main
dans Word pour y exécuter les adjonctions et modifications.
Dans un premier temps pour vérifier la faisabilité, je m'occupe que de la
partie "Destinataire". J'ai réalisé un document modèle dans lequel je
souhaite remplacer le nom et l'adresse du destinataire (Nom1 Nom2 et Adr1
Adr2) par les vraies coordonnées stockées dans Excel.
Je me suis inspiré des infos prises sur ce groupe pour élaborer le début du
programme, mais... cela ne fonctionne pas. Dans la sélection faite, aucune
modification ne se fait.
Pour anticiper la suite des évènements, je n'ai pas trouvé d'info pour
ajouter une ligne à l'intérieur du courrier type, à un endroit précis. Soit
le texte suivant (paragraphes (phrases) de plusieurs lignes) :
JJJJJJJ
LLLLL
MMMM
Comment insérer une ligne (ou une phrase ou un paragraphe) contenant KKKK à
la suite de J (dans le même paragraphe) ou entre J et L? Le contenu KKKK est
entièrement maîtrisé sous Excel. Est-il possible de formater en gras les
valeurs numériques qu'il contient? Les valeurs numériques sont maîtrisées
sous Excel. Comment supprimer (éventuellement) le paragraphe MMMM? Quelle
est la technique générale pour ce genre de manip?
Voici ce que j'ai écrit...
Sub RemplirWordDepuisExcel()
Dim AppWord As Word.Application
Dim DocWord As Word.Document
Dim Docu As String
Set AppWord = New Word.Application
' Données du message à envoyer :
Dim Adr1 As String
Dim Adr2 As String
Dim Civ1 As String
Dim CSI As String
Dim Nom1 As String
Dim Nom2 As String
' Récupération les données dans Excel
CSI = Range("A24").Value
Nom1 = Range("B24").Value
Nom2 = Range("C24").Value
Adr1 = Range("D24").Value
Adr2 = Range("E24").Value & " " & Range("F24").Value
Civ1 = Range("G24").Value
'...
' Ouvrir le document Word
AppWord.ShowMe
AppWord.Visible = True
Docu = "c:\AAA\BBB\CCC.doc"
Set DocWord = AppWord.Documents.Open(Docu, ReadOnly:=False)
With ActiveDocument.Content.Find
.Forward = True
.ClearFormatting
.MatchWholeWord = True
.MatchCase = False
.Wrap = wdFindContinue
.Text = "CSI" 'Doir remplacer "CSI" par le nouveau texte contenu
dans la variable CSI
.Replacement.Text = CSI
End With
ActiveDocument.Content.Find.Execute Replace:=wdReplaceAll
'...
DocWord.Application.ActiveDocument.Save
AppWord.Application.Quit
End Sub
J'èpère que je ne suis pas trop exigeant... et par avance,
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 !
'Michel RAMEAUX' nous a écrit ...
Je suis en cours de finition de tableaux d'analyses dont je dois faire parvenir des résultats (selon le destinataire), et à plusieurs destinataires (en fonction des résultats). Donc beaucoup de croisements d'informations ...
Effectivement, ça se croise beaucoup
Je me suis inspiré des infos prises sur ce groupe pour élaborer le début du programme, mais... cela ne fonctionne pas.
On ne voit pas bien ce qui ne fonctionne pas.
Pour anticiper la suite des évènements, je n'ai pas trouvé d'info pour ajouter une ligne à l'intérieur du courrier type, à un endroit précis.
Il faut d'abord savoir comment se précise votre endroit précis ! Ensuite il est facile d'y insérer par exemple à la suite (InsertAfter) votre ligne de texte.
Anacoluthe « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. » - CONFUCIUS
Bonjour !
'Michel RAMEAUX' nous a écrit ...
Je suis en cours de finition de tableaux d'analyses dont je dois faire
parvenir des résultats (selon le destinataire), et à plusieurs destinataires
(en fonction des résultats). Donc beaucoup de croisements d'informations ...
Effectivement, ça se croise beaucoup
Je me suis inspiré des infos prises sur ce groupe pour élaborer le début du
programme, mais... cela ne fonctionne pas.
On ne voit pas bien ce qui ne fonctionne pas.
Pour anticiper la suite des évènements, je n'ai pas trouvé d'info pour
ajouter une ligne à l'intérieur du courrier type, à un endroit précis.
Il faut d'abord savoir comment se précise votre endroit précis !
Ensuite il est facile d'y insérer par exemple à la suite (InsertAfter)
votre ligne de texte.
Anacoluthe
« Je ne cherche pas à connaître les réponses,
je cherche à comprendre les questions. »
- CONFUCIUS
Je suis en cours de finition de tableaux d'analyses dont je dois faire parvenir des résultats (selon le destinataire), et à plusieurs destinataires (en fonction des résultats). Donc beaucoup de croisements d'informations ...
Effectivement, ça se croise beaucoup
Je me suis inspiré des infos prises sur ce groupe pour élaborer le début du programme, mais... cela ne fonctionne pas.
On ne voit pas bien ce qui ne fonctionne pas.
Pour anticiper la suite des évènements, je n'ai pas trouvé d'info pour ajouter une ligne à l'intérieur du courrier type, à un endroit précis.
Il faut d'abord savoir comment se précise votre endroit précis ! Ensuite il est facile d'y insérer par exemple à la suite (InsertAfter) votre ligne de texte.
Anacoluthe « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. » - CONFUCIUS
Bounou
Bonjour, Je me suis justement inspiré d'une solution que VOUS avez proposé à une prédédente question (ajout d'une ligne dans un tableau). Mais je n'ai pas bien compris la méthode pour ajouter ou modifier du texte "à volonté". Dans le module proposé j'ai écrit (en vba) que : en arrivant dans Word, je sélectionne tout le texte, j'y recherche la séquence de caractères CSI pour les remplacer par le contenu de la variable du même nom (initialisée au début). Le code est très proche de celui fourni par l'enregistreur de macro. Nota : ce code qui fonctionne sous Word, ne fonctionne pas si on l'intègre "brut" dans le module Vba sous excel. Or, même adapté comme je pense qu'il devrait être (ce qui est proposé pour analyse), cela ne fonctionne pas plus... l'ancien texte reste toujours présent... il y a là une épaisse couche de brouillard. Pour les autres questions, je souhaite que, par exemple, dans CE message Excel puisse ajouter, ci-dessus, un nouveau texte entre "... volonté." et "Dans ...", que ce soit la suite du premier paragraphe (sans en changer) et/ou en insérerant un nouveau paragraphe.
Merci de nouveau...
"Anacoluthe" a écrit dans le message news:
Bonjour !
'Michel RAMEAUX' nous a écrit ...
Je suis en cours de finition de tableaux d'analyses dont je dois faire parvenir des résultats (selon le destinataire), et à plusieurs destinataires
(en fonction des résultats). Donc beaucoup de croisements d'informations ...
Effectivement, ça se croise beaucoup
Je me suis inspiré des infos prises sur ce groupe pour élaborer le début du
programme, mais... cela ne fonctionne pas.
On ne voit pas bien ce qui ne fonctionne pas.
Pour anticiper la suite des évènements, je n'ai pas trouvé d'info pour ajouter une ligne à l'intérieur du courrier type, à un endroit précis.
Il faut d'abord savoir comment se précise votre endroit précis ! Ensuite il est facile d'y insérer par exemple à la suite (InsertAfter) votre ligne de texte.
Anacoluthe « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. » - CONFUCIUS
Bonjour,
Je me suis justement inspiré d'une solution que VOUS avez proposé à une
prédédente question (ajout d'une ligne dans un tableau). Mais je n'ai pas
bien compris la méthode pour ajouter ou modifier du texte "à volonté".
Dans le module proposé j'ai écrit (en vba) que :
en arrivant dans Word, je sélectionne tout le texte, j'y recherche la
séquence de caractères CSI pour les remplacer par le contenu de la variable
du même nom (initialisée au début). Le code est très proche de celui fourni
par l'enregistreur de macro. Nota : ce code qui fonctionne sous Word, ne
fonctionne pas si on l'intègre "brut" dans le module Vba sous excel.
Or, même adapté comme je pense qu'il devrait être (ce qui est proposé pour
analyse), cela ne fonctionne pas plus... l'ancien texte reste toujours
présent... il y a là une épaisse couche de brouillard.
Pour les autres questions, je souhaite que, par exemple, dans CE message
Excel puisse ajouter, ci-dessus, un nouveau texte entre "... volonté." et
"Dans ...", que ce soit la suite du premier paragraphe (sans en changer)
et/ou en insérerant un nouveau paragraphe.
Merci de nouveau...
"Anacoluthe" <nopub_anacoluthe@Ouanadoo.fr> a écrit dans le message news:
eTw5Dfg8FHA.3760@TK2MSFTNGP14.phx.gbl...
Bonjour !
'Michel RAMEAUX' nous a écrit ...
Je suis en cours de finition de tableaux d'analyses dont je dois faire
parvenir des résultats (selon le destinataire), et à plusieurs
destinataires
(en fonction des résultats). Donc beaucoup de croisements d'informations
...
Effectivement, ça se croise beaucoup
Je me suis inspiré des infos prises sur ce groupe pour élaborer le début
du
programme, mais... cela ne fonctionne pas.
On ne voit pas bien ce qui ne fonctionne pas.
Pour anticiper la suite des évènements, je n'ai pas trouvé d'info pour
ajouter une ligne à l'intérieur du courrier type, à un endroit précis.
Il faut d'abord savoir comment se précise votre endroit précis !
Ensuite il est facile d'y insérer par exemple à la suite (InsertAfter)
votre ligne de texte.
Anacoluthe
« Je ne cherche pas à connaître les réponses,
je cherche à comprendre les questions. »
- CONFUCIUS
Bonjour, Je me suis justement inspiré d'une solution que VOUS avez proposé à une prédédente question (ajout d'une ligne dans un tableau). Mais je n'ai pas bien compris la méthode pour ajouter ou modifier du texte "à volonté". Dans le module proposé j'ai écrit (en vba) que : en arrivant dans Word, je sélectionne tout le texte, j'y recherche la séquence de caractères CSI pour les remplacer par le contenu de la variable du même nom (initialisée au début). Le code est très proche de celui fourni par l'enregistreur de macro. Nota : ce code qui fonctionne sous Word, ne fonctionne pas si on l'intègre "brut" dans le module Vba sous excel. Or, même adapté comme je pense qu'il devrait être (ce qui est proposé pour analyse), cela ne fonctionne pas plus... l'ancien texte reste toujours présent... il y a là une épaisse couche de brouillard. Pour les autres questions, je souhaite que, par exemple, dans CE message Excel puisse ajouter, ci-dessus, un nouveau texte entre "... volonté." et "Dans ...", que ce soit la suite du premier paragraphe (sans en changer) et/ou en insérerant un nouveau paragraphe.
Merci de nouveau...
"Anacoluthe" a écrit dans le message news:
Bonjour !
'Michel RAMEAUX' nous a écrit ...
Je suis en cours de finition de tableaux d'analyses dont je dois faire parvenir des résultats (selon le destinataire), et à plusieurs destinataires
(en fonction des résultats). Donc beaucoup de croisements d'informations ...
Effectivement, ça se croise beaucoup
Je me suis inspiré des infos prises sur ce groupe pour élaborer le début du
programme, mais... cela ne fonctionne pas.
On ne voit pas bien ce qui ne fonctionne pas.
Pour anticiper la suite des évènements, je n'ai pas trouvé d'info pour ajouter une ligne à l'intérieur du courrier type, à un endroit précis.
Il faut d'abord savoir comment se précise votre endroit précis ! Ensuite il est facile d'y insérer par exemple à la suite (InsertAfter) votre ligne de texte.
Anacoluthe « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. » - CONFUCIUS
Anacoluthe
Bonjour !
'Bounou' nous a écrit ...
Je me suis justement inspiré d'une solution que VOUS avez proposé à une prédédente question (ajout d'une ligne dans un tableau). Mais je n'ai pas bien compris la méthode pour ajouter ou modifier du texte "à volonté". Dans le module proposé j'ai écrit (en vba) que : en arrivant dans Word, je sélectionne tout le texte, j'y recherche la séquence de caractères CSI pour les remplacer par le contenu de la variable du même nom (initialisée au début). Le code est très proche de celui fourni par l'enregistreur de macro. Nota : ce code qui fonctionne sous Word, ne fonctionne pas si on l'intègre "brut" dans le module Vba sous excel. Or, même adapté comme je pense qu'il devrait être (ce qui est proposé pour analyse), cela ne fonctionne pas plus... l'ancien texte reste toujours présent... il y a là une épaisse couche de brouillard. Pour les autres questions, je souhaite que, par exemple, dans CE message Excel puisse ajouter, ci-dessus, un nouveau texte entre "... volonté." et "Dans ...", que ce soit la suite du premier paragraphe (sans en changer) et/ou en insérerant un nouveau paragraphe.
Il est bien difficile de vous répondre quand vous posez 50 questions en même temps ! Évitez de transposer des solutions toutes faites en vba, sériez chaque problème, commencez par vous familiariser avec les instructions les plus simples. Les solutions les plus complexes ne sont le plus souvent que des suites dinstructions très simples.
Votre dernière question par exemple: Pour se repérer entre 'volonté' et 'Dans' vous devez savoir si le programme doit chercher un mot, les deux mots, un signet ou tout simplement la fin du premier paragraphe, savoir si le texte à insérer est brut ou formaté, s'il est fixe ou à chercher dans un objet. Rédigez et testez toujours votre code Word dans Word. Tout code qui fonctionne dans Word peut être exécuté par et dans Excel mais évidemment pas s'il est recopié 'tel quel' : il importe de bien comprendre que tout ce qui est implicite pour Word doit être explicite dans Excel et réciproquement. Bon courage.
Anacoluthe « Le principal est de débuter. » - Georges Charles HUYSMANS
Bonjour !
'Bounou' nous a écrit ...
Je me suis justement inspiré d'une solution que VOUS avez proposé à une
prédédente question (ajout d'une ligne dans un tableau). Mais je n'ai pas
bien compris la méthode pour ajouter ou modifier du texte "à volonté".
Dans le module proposé j'ai écrit (en vba) que :
en arrivant dans Word, je sélectionne tout le texte, j'y recherche la
séquence de caractères CSI pour les remplacer par le contenu de la variable
du même nom (initialisée au début). Le code est très proche de celui fourni
par l'enregistreur de macro. Nota : ce code qui fonctionne sous Word, ne
fonctionne pas si on l'intègre "brut" dans le module Vba sous excel.
Or, même adapté comme je pense qu'il devrait être (ce qui est proposé pour
analyse), cela ne fonctionne pas plus... l'ancien texte reste toujours
présent... il y a là une épaisse couche de brouillard.
Pour les autres questions, je souhaite que, par exemple, dans CE message
Excel puisse ajouter, ci-dessus, un nouveau texte entre "... volonté." et
"Dans ...", que ce soit la suite du premier paragraphe (sans en changer)
et/ou en insérerant un nouveau paragraphe.
Il est bien difficile de vous répondre quand vous posez 50 questions
en même temps ! Évitez de transposer des solutions toutes faites en vba,
sériez chaque problème, commencez par vous familiariser avec les
instructions les plus simples. Les solutions les plus complexes
ne sont le plus souvent que des suites dinstructions très simples.
Votre dernière question par exemple:
Pour se repérer entre 'volonté' et 'Dans' vous devez savoir si le
programme doit chercher un mot, les deux mots, un signet ou tout
simplement la fin du premier paragraphe, savoir si le texte à insérer
est brut ou formaté, s'il est fixe ou à chercher dans un objet.
Rédigez et testez toujours votre code Word dans Word. Tout code qui
fonctionne dans Word peut être exécuté par et dans Excel mais
évidemment pas s'il est recopié 'tel quel' : il importe de bien
comprendre que tout ce qui est implicite pour Word doit être explicite
dans Excel et réciproquement. Bon courage.
Anacoluthe
« Le principal est de débuter. »
- Georges Charles HUYSMANS
Je me suis justement inspiré d'une solution que VOUS avez proposé à une prédédente question (ajout d'une ligne dans un tableau). Mais je n'ai pas bien compris la méthode pour ajouter ou modifier du texte "à volonté". Dans le module proposé j'ai écrit (en vba) que : en arrivant dans Word, je sélectionne tout le texte, j'y recherche la séquence de caractères CSI pour les remplacer par le contenu de la variable du même nom (initialisée au début). Le code est très proche de celui fourni par l'enregistreur de macro. Nota : ce code qui fonctionne sous Word, ne fonctionne pas si on l'intègre "brut" dans le module Vba sous excel. Or, même adapté comme je pense qu'il devrait être (ce qui est proposé pour analyse), cela ne fonctionne pas plus... l'ancien texte reste toujours présent... il y a là une épaisse couche de brouillard. Pour les autres questions, je souhaite que, par exemple, dans CE message Excel puisse ajouter, ci-dessus, un nouveau texte entre "... volonté." et "Dans ...", que ce soit la suite du premier paragraphe (sans en changer) et/ou en insérerant un nouveau paragraphe.
Il est bien difficile de vous répondre quand vous posez 50 questions en même temps ! Évitez de transposer des solutions toutes faites en vba, sériez chaque problème, commencez par vous familiariser avec les instructions les plus simples. Les solutions les plus complexes ne sont le plus souvent que des suites dinstructions très simples.
Votre dernière question par exemple: Pour se repérer entre 'volonté' et 'Dans' vous devez savoir si le programme doit chercher un mot, les deux mots, un signet ou tout simplement la fin du premier paragraphe, savoir si le texte à insérer est brut ou formaté, s'il est fixe ou à chercher dans un objet. Rédigez et testez toujours votre code Word dans Word. Tout code qui fonctionne dans Word peut être exécuté par et dans Excel mais évidemment pas s'il est recopié 'tel quel' : il importe de bien comprendre que tout ce qui est implicite pour Word doit être explicite dans Excel et réciproquement. Bon courage.
Anacoluthe « Le principal est de débuter. » - Georges Charles HUYSMANS