Applescript - VBA word Excel - export données Excel vers Signets word

ragnart2210

Membre enregistré
22 Août 2020
4
0
30
Bonjour à tous,

Dans le cadre de mon boulot, j'essaie de mettre en place un code VBA me permet d'exporter des données provenant de cellules EXCEL vers des signets mis en place sur plusieurs documents words.

Les étapes du code sont les suivantes :

1) définir un emplacement de dossier et ouvrir tous les fichiers word de ce dossier (grâce à dir("*.docx"))
2) Exporter les données de mes cellules excel vers mes signets words
3) Enregistrer les documents ainsi modifiés vers un autre dossier

je vous mets le code en question ci-dessous

Sub ExtractionDonnees()
Dim Chemin As String, Fichier As String
Dim WordApp As Word.Application
Dim WordDoc As Word.Document

'Définit le répertoire contenant les fichiers
Chemin = "C:\Users\julien\Documents\Travail JG\Fichiers\"
'Boucle sur tous les fichiers word du répertoire sur MAC
Fichier = Dir(Chemin & "*.docx")

Do While Len(Fichier) > 0
'écrit le résultat dans la fenêtre d'exécution (Ctrl+G).
Debug.Print Chemin & Fichier

Set WordApp = CreateObject("word.application")
WordApp.Visible = False

Set WordDoc = WordApp.Documents.Open(Chemin & Fichier)
'ouvre le document Word

If WordDoc.Bookmarks.Exists("NumerodeProcedure") = False Then

GoTo line1 'si la condition si est realisee, on se deplace a line1:

End If

WordDoc.Bookmarks("NumeroDeProcedure").Range.Text = Cells(1, 3)

line1:

WordDoc.SaveAs Filename:="C:\Users\julien\Documents\Travail JG\Fichiers modifiés\" & WordDoc.Name

WordDoc.Close

Fichier = Dir

Loop

WordApp.Application.Quit
Set WordApp = Nothing

End Sub


Le code a l'air de fonctionner à peu près sous windows. Le problème est que je dois aussi l'utiliser sur mon pc portable pro (masOS high Sierra version 10.13.6). Or, ce code ne fonctionne plus du tout sur mac.

Les principaux problèmes que j'ai repéré sont les suivants :

1) s'agissant de la fonction DIR, j'ai découvert que mac ne reconnaissait pas * pour les caractères génériques. J'ai essayé de contourner le problème avec DIR(MACID("W6BN") mais ça ne fonctionne pas du tout
2) La fonction CreateObject déconne aussi complètement à cause d 'un problème d'activeX sur mac si j'ai bien compris

Pour résoudre ces problèmes, j'ai cru comprendre qu'il allait falloir que j'insère un peu de code applescript dans mon code VBA. Pour information, je ne suis pas du tout développeur à la base (je suis juriste), et j'ai cravaché des heures pour sortir le code VBA que je vous ai joins ci-dessus. Le fait d'apprendre qu'il allait falloir que je commence à appréhender un nouveau langage de programmation m'a complètement démoralisé, d'autant que les informations sur applescript sont beaucoup plus difficile à trouver que pour la VBA.

C'est pourquoi je me permets de solliciter l'aide de ce forum.

Auriez-vous des pistes à me suggérer ?

Je vous remercie par avance :)
 
Bonjour à tous,

Dans le cadre de mon boulot, j'essaie de mettre en place un code VBA me permet d'exporter des données provenant de cellules EXCEL vers des signets mis en place sur plusieurs documents words.

Les étapes du code sont les suivantes :

1) définir un emplacement de dossier et ouvrir tous les fichiers word de ce dossier (grâce à dir("*.docx"))
2) Exporter les données de mes cellules excel vers mes signets words
3) Enregistrer les documents ainsi modifiés vers un autre dossier

je vous mets le code en question ci-dessous

Sub ExtractionDonnees()
Dim Chemin As String, Fichier As String
Dim WordApp As Word.Application
Dim WordDoc As Word.Document

'Définit le répertoire contenant les fichiers
Chemin = "C:\Users\julien\Documents\Travail JG\Fichiers\"
'Boucle sur tous les fichiers word du répertoire sur MAC
Fichier = Dir(Chemin & "*.docx")

Do While Len(Fichier) > 0
'écrit le résultat dans la fenêtre d'exécution (Ctrl+G).
Debug.Print Chemin & Fichier

Set WordApp = CreateObject("word.application")
WordApp.Visible = False

Set WordDoc = WordApp.Documents.Open(Chemin & Fichier)
'ouvre le document Word

If WordDoc.Bookmarks.Exists("NumerodeProcedure") = False Then

GoTo line1 'si la condition si est realisee, on se deplace a line1:

End If

WordDoc.Bookmarks("NumeroDeProcedure").Range.Text = Cells(1, 3)

line1:

WordDoc.SaveAs Filename:="C:\Users\julien\Documents\Travail JG\Fichiers modifiés\" & WordDoc.Name

WordDoc.Close

Fichier = Dir

Loop

WordApp.Application.Quit
Set WordApp = Nothing

End Sub


Le code a l'air de fonctionner à peu près sous windows. Le problème est que je dois aussi l'utiliser sur mon pc portable pro (masOS high Sierra version 10.13.6). Or, ce code ne fonctionne plus du tout sur mac.

Les principaux problèmes que j'ai repéré sont les suivants :

1) s'agissant de la fonction DIR, j'ai découvert que mac ne reconnaissait pas * pour les caractères génériques. J'ai essayé de contourner le problème avec DIR(MACID("W6BN") mais ça ne fonctionne pas du tout
2) La fonction CreateObject déconne aussi complètement à cause d 'un problème d'activeX sur mac si j'ai bien compris

Pour résoudre ces problèmes, j'ai cru comprendre qu'il allait falloir que j'insère un peu de code applescript dans mon code VBA. Pour information, je ne suis pas du tout développeur à la base (je suis juriste), et j'ai cravaché des heures pour sortir le code VBA que je vous ai joins ci-dessus. Le fait d'apprendre qu'il allait falloir que je commence à appréhender un nouveau langage de programmation m'a complètement démoralisé, d'autant que les informations sur applescript sont beaucoup plus difficile à trouver que pour la VBA.

C'est pourquoi je me permets de solliciter l'aide de ce forum.

Auriez-vous des pistes à me suggérer ?

Je vous remercie par avance :)
Bonjour tout le monde, ma problématique est toujours d'actualité ... Personne pour me donner un tuyau SVP ?
 
Bonjour à tous,

Dans le cadre de mon boulot, j'essaie de mettre en place un code VBA me permet d'exporter des données provenant de cellules EXCEL vers des signets mis en place sur plusieurs documents words.

Les étapes du code sont les suivantes :

1) définir un emplacement de dossier et ouvrir tous les fichiers word de ce dossier (grâce à dir("*.docx"))
2) Exporter les données de mes cellules excel vers mes signets words
3) Enregistrer les documents ainsi modifiés vers un autre dossier

je vous mets le code en question ci-dessous

Sub ExtractionDonnees()
Dim Chemin As String, Fichier As String
Dim WordApp As Word.Application
Dim WordDoc As Word.Document

'Définit le répertoire contenant les fichiers
Chemin = "C:\Users\julien\Documents\Travail JG\Fichiers\"
'Boucle sur tous les fichiers word du répertoire sur MAC
Fichier = Dir(Chemin & "*.docx")

Do While Len(Fichier) > 0
'écrit le résultat dans la fenêtre d'exécution (Ctrl+G).
Debug.Print Chemin & Fichier

Set WordApp = CreateObject("word.application")
WordApp.Visible = False

Set WordDoc = WordApp.Documents.Open(Chemin & Fichier)
'ouvre le document Word

If WordDoc.Bookmarks.Exists("NumerodeProcedure") = False Then

GoTo line1 'si la condition si est realisee, on se deplace a line1:

End If

WordDoc.Bookmarks("NumeroDeProcedure").Range.Text = Cells(1, 3)

line1:

WordDoc.SaveAs Filename:="C:\Users\julien\Documents\Travail JG\Fichiers modifiés\" & WordDoc.Name

WordDoc.Close

Fichier = Dir

Loop

WordApp.Application.Quit
Set WordApp = Nothing

End Sub


Le code a l'air de fonctionner à peu près sous windows. Le problème est que je dois aussi l'utiliser sur mon pc portable pro (masOS high Sierra version 10.13.6). Or, ce code ne fonctionne plus du tout sur mac.

Les principaux problèmes que j'ai repéré sont les suivants :

1) s'agissant de la fonction DIR, j'ai découvert que mac ne reconnaissait pas * pour les caractères génériques. J'ai essayé de contourner le problème avec DIR(MACID("W6BN") mais ça ne fonctionne pas du tout
2) La fonction CreateObject déconne aussi complètement à cause d 'un problème d'activeX sur mac si j'ai bien compris

Pour résoudre ces problèmes, j'ai cru comprendre qu'il allait falloir que j'insère un peu de code applescript dans mon code VBA. Pour information, je ne suis pas du tout développeur à la base (je suis juriste), et j'ai cravaché des heures pour sortir le code VBA que je vous ai joins ci-dessus. Le fait d'apprendre qu'il allait falloir que je commence à appréhender un nouveau langage de programmation m'a complètement démoralisé, d'autant que les informations sur applescript sont beaucoup plus difficile à trouver que pour la VBA.

C'est pourquoi je me permets de solliciter l'aide de ce forum.

Auriez-vous des pistes à me suggérer ?

Je vous remercie par avance :)
Bonjour tout le monde, ma problématique est toujours d'actualité ... Personne pour me donner un tuyau SVP ?