Bonjour,
Cela fait seulement un mois que je créé des macros et j'avoue ne pas m'y connaitre mes grâce au forums j'arrive à exploiter des macros déjà créé pour faire ce que je veux.
Aujourd'hui je rencontre un problème dans la création de ma macro et je ne trouve pas la réponse sur internet. Lorsque que je suis sur Word toute mes macros fonctionne cependant je veux les exécuter depuis Excel.
Pour vous expliquer un peux la macro j'importe dans Excel un dossier avec des Word et j'y extrait des donnés pour établir un tableau.
L'ensemble de mes macros fonctionnent en séparé sur Word.
J'ai réussi à régler beaucoup de problème pour faire fonctionner mes macros Word sur Excel grâce au précédente discussion sur ce forums ou sur d'autres forums. Cependant je n'arrive pas depuis Excel à remplacer Active.document pour que la macro s'exécute.
Je vous met les variables et un extrait d'une des macros avec active.document
'Initialisation des variables
'Fonction pour choisir le répertoire contenant les fichier Word
Chemin_du_dossier = Choisir_répertoire & "\"
'Ouvrir tous les fichiers .doc* : 1er fichier
Nom_du_Word = Dir(Chemin_du_dossier & "*.doc*")
'Créer un objet Word
Set Word = CreateObject("Word.Application")
Word.Visible = True 'Ne pas afficher Word pendant l'exécution de la macro
'Ne pas mettre à jour l'écran
Application.ScreenUpdating = False
Set VISA_Word = Word.Documents.Open(Chemin_du_dossier & Nom_du_Word) 'Ouvre le document Word
'Vérification que les lots sont identiques sur les deux emplacements dédiés
Lot = VISA_Word.Tables(3).Cell(1, 2).Range.Copy 'Copier la valeur dans le presse papier
'Sélectionner la cellule de départ de ma plage
Word.Selection.Tables(3).Cell(3, 2).Select
'Étendre la sélection à un nombre de pas
Word.Selection.MoveEnd Unit:=wdLine, Count:=3
'Copier la plage de sélection
Word.Selection.Copy
'Créé un nouveau document Word pour copier les textes avec le style recherché
Word.Documents.Add Template:="Normal", NewTemplate:=False, DocumentType:=0
'Coller dans le document le texte
Word.Selection.PasteSpecial (xlPasteValues)
'Sélectionner l'ensemble du document
Word.Selection.WholeStory
'Convertir le tableau en texte en remplaçant par du vide pour concaténer les textes
*ActiveDocument.Tables(1).ConvertToText Separator:=""
'Sélectionner l'ensemble du document
Word.Selection.WholeStory
'Copier la sélection
Lot 1 = Word.Selection.Copy
'Fermer ce document
*ActiveDocument.Close False
If Lot = Lot1 Then
'Continuer
Else
'Sortie de la procédure
Exit sub
End if
En vous remerciant par avance de m'aider dans ma macro
n.excel
Cela fait seulement un mois que je créé des macros et j'avoue ne pas m'y connaitre mes grâce au forums j'arrive à exploiter des macros déjà créé pour faire ce que je veux.
Aujourd'hui je rencontre un problème dans la création de ma macro et je ne trouve pas la réponse sur internet. Lorsque que je suis sur Word toute mes macros fonctionne cependant je veux les exécuter depuis Excel.
Pour vous expliquer un peux la macro j'importe dans Excel un dossier avec des Word et j'y extrait des donnés pour établir un tableau.
L'ensemble de mes macros fonctionnent en séparé sur Word.
J'ai réussi à régler beaucoup de problème pour faire fonctionner mes macros Word sur Excel grâce au précédente discussion sur ce forums ou sur d'autres forums. Cependant je n'arrive pas depuis Excel à remplacer Active.document pour que la macro s'exécute.
Je vous met les variables et un extrait d'une des macros avec active.document
'Initialisation des variables
'Fonction pour choisir le répertoire contenant les fichier Word
Chemin_du_dossier = Choisir_répertoire & "\"
'Ouvrir tous les fichiers .doc* : 1er fichier
Nom_du_Word = Dir(Chemin_du_dossier & "*.doc*")
'Créer un objet Word
Set Word = CreateObject("Word.Application")
Word.Visible = True 'Ne pas afficher Word pendant l'exécution de la macro
'Ne pas mettre à jour l'écran
Application.ScreenUpdating = False
Set VISA_Word = Word.Documents.Open(Chemin_du_dossier & Nom_du_Word) 'Ouvre le document Word
'Vérification que les lots sont identiques sur les deux emplacements dédiés
Lot = VISA_Word.Tables(3).Cell(1, 2).Range.Copy 'Copier la valeur dans le presse papier
'Sélectionner la cellule de départ de ma plage
Word.Selection.Tables(3).Cell(3, 2).Select
'Étendre la sélection à un nombre de pas
Word.Selection.MoveEnd Unit:=wdLine, Count:=3
'Copier la plage de sélection
Word.Selection.Copy
'Créé un nouveau document Word pour copier les textes avec le style recherché
Word.Documents.Add Template:="Normal", NewTemplate:=False, DocumentType:=0
'Coller dans le document le texte
Word.Selection.PasteSpecial (xlPasteValues)
'Sélectionner l'ensemble du document
Word.Selection.WholeStory
'Convertir le tableau en texte en remplaçant par du vide pour concaténer les textes
*ActiveDocument.Tables(1).ConvertToText Separator:=""
'Sélectionner l'ensemble du document
Word.Selection.WholeStory
'Copier la sélection
Lot 1 = Word.Selection.Copy
'Fermer ce document
*ActiveDocument.Close False
If Lot = Lot1 Then
'Continuer
Else
'Sortie de la procédure
Exit sub
End if
En vous remerciant par avance de m'aider dans ma macro
n.excel