[XL-2016] ouverture fichier Word
Merci Rmist2024,
C'était trop beau. J'ai copié ton code en remplacement du mien mais la ligne 3 lance une exécution sans fin, arrêtable seulement par Ctrl+Alt/Del. Une idée de ce qui se passe ?
Merci d'avance
Cordial salut
touche_a_tout
[XL-2016] ouverture fichier Word
Re,
Post Scriptum.
Boîte de dialogue s'ouvre avec "L'appel a été annulé par filtre de messages".
Aucune idée de ce que ça signifie.
touche_a_tout
[XL-2016] ouverture fichier Word
Bonjour,
Merci rMist2024,
J'ai en effet une fenêtre de dialogue avec le choix entre créer un fichier lecture seule, créer une copie et attendre notification + OK et Annuler. Je me rappelle avoir utilisé une procédure pour cliquer virtuellement avec VBA sur un des boutons mais je ne la retrouve pas (J'ai pas mal fouillé les sites de VBA !).
Y a-t-il eu un fil sur ce sujet sur le forum ? Un tutoriel ? Celui que j'ai étudié n'aborde pas ce point particulier.
J'ai aussi testé les instructions qui ferment ou désactivent un dialogue mais sans succès.
Le pire est que le fichier Word que je veux ouvrir est effectivement ouvert (en lecture seule) mais caché par des fichiers vides. Il est créé par la ligne
Code:
Set AppWord = CreateObject("Word.Application")
où le nom du fichier que je veux ouvrir ne figure pas !!
Merci pour toute piste.
Cordialement
touche_a_tout
[XL-2016] ouverture fichier Word
Merci rMist2024,
Ton code fonctionne et je peux activer le fichier qui m'intéresse mais je me casse les dents sur une fonction que je copie textuellement chez Microsoft Learn: Replace, soit:
Citation:
Replace(expression, find, replace, [ start, [ count, [ compare ]]])
(les 3 derniers arguments sont facultatifs) et elle me donne une erreur. Je ferais sans doute mieux d'indiquer ce que je veux faire et d'afficher mon code.
J'ai un texte sous Word que je veux analyser mot après mot avec Excel. Mon plan consiste à ouvrir ce Doc dans Word, de remplacer tous les espaces (Chr(32) par un retour chariot et de le coller dans la première colonne d'une feuille XL où il s'affichera à raison d'un mot par cellule. Pour tester la moulinette j'ai choisi un passage du Doc où il est question d'un escalier et je cherche à remplacer "marches" par "degrés" et c'est là, à la ligne 12:
Code:
Replace(mystring, "marches", "degrés",)
que j'ai l'erreur, que je mette ou non la virgule après le texte de remplacement.
Pour plus de clarté je copie mon code provisoire ci-dessous. SI quelqu'un voit où ça pèche je suis tout ouïe !
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| Sub modifier_Word()
Dim AppWord, Doc
Set AppWord = GetObject(, "Word.Application")
' parcourir les documents ouverts 'n'est pas indispensable
For Each Doc In AppWord.Documents
MsgBox Doc.Name
Next
Documents.Open ("E:\2_M_E_S__P_R_O_J_E_T_S\Périple\analyse_periple\PERIPLE_10_10_test.docx")
ActiveDocument.Range.WholeStory
mystring = ActiveDocument.Content
Replace(mystring, "marches", "degrés",)
ActiveDocument.Content.Find.Execute Replace:=wdReplaceAll
End Sub |
Merci d'avance et bonne soirée.
Cordialement
touche_a_tout
[XL-2016] ouverture fichier Word
Haha, merci, le Nain costaud,
Demain, je serai un peu plus frais pour commenter.
Bonne soirée
Cordialement
touche_a_tout
[XL-2016] ouverture fichier Word
Bonjour Nain_porte_Koi et encore merci,
Du code vachement propre (je code comme un gamin qui bouffe le Nutella avec les doigts) et rien en dur. Un modèle !
Mais je n'arrive pas à activer les macros: Fichier, groupe code, Sécurité des macros, Activer toutes les macros mais ça ne donne rien ! Et l'aide de Microsoft ne s'intéresse plus qu'à 365, avec des tas de renvois à toute sorte d'articles pour revenir finalement à Fichier, groupe code, Sécurité des macros, Activer toutes les macros. Avec les fautes de traduction par-dessus le marché. Qu'alors y faire ?
Merci d'avance.
Cordialement
touche_a_tout
[XL-2016] ouverture fichier Word
STOP ! Tout va bien !
OK, Nain_porte_KOI, ça fonctionne. J'ai changé le nom du fichier XL dans le module mais pas dans le classeur lui-même ! C'est ce qui empêchait l'activation des macros. Encore merci pour ton aide ou plutôt pour ta recréation de ce module. Discussion terminée.
Cordialement
touche_a_tout