Exécution d'une macro

Bonjour à toutes & tous,

Dans un fichier Excel, j'importe automatiquement des données depuis un programme extérieur qui remplissent les cellules au fur et à mesure.

Une fois l'import terminée, je déclenche manuellement une macro.

Ma question, existe t-il une procédure qui permette d'exécuter la macro automatiquement une fois l'import terminé ?

J'ai vu cela dans le Workbook, mais les données importées ne sont pas au format XML :

Private Sub Workbook_AfterXmlImport(ByVal Map As XmlMap, ByVal IsRefresh As Boolean, ByVal Result As XlXmlImportResult)

En d'autres termes, je cherche à exécuter une macro lorsque la feuille qui reçoit l'import devient "statique", ne subit plus de changement.

Je peux joindre le fichier si nécessaire, mais il est relativement volumineux.

Merci d'avance, ;)

Bonjour,

Crée un script windows qui enchaine le programme de chargement et la mise à jour après chargement.

si le chargement de la table se fait par requête excel, événement tableupdate devrait pouvoir t'aider.

Re,

Dans mon cas, je lance l'import depuis le programme extérieur (TopSolid), je m'explique :

- Depuis mon plan TopSolid, je génère un tableau avec tous mes éléments dedans,

- J'exporte ce tableau en choisissant mon fichier excel comme destination (à ce moment le fichier excel est fermé),

- Le fichier s'ouvre et l'exportation des pièces commence automatiquement.

Le but est qu'au moment ou l'export ce termine la macro ce lance automatiquement.

A + ;)

Bonsoir SOTIN,

Il suffit qu'il y ait sur le fichier Plan TopSolid un marqueur de fin de tableau.

Ce qui peut être n'importe quelle donnée (unique et hors contexte) qui fasse office de cela.

Exemple: Le message FIN DE FICHIER ou une suite qui ne pourrait exister KX??KX.

Lorsque cette donnée arrive sur le fichier Excel elle est repérée par une procédure événementielle Sheet_Change qui se chargera de supprimer ce marqueur puis de lancer la macro souhaitée.

Re,

Effectivement c'est possible. J'utilise d'ailleurs cette même méthode pour autre chose dans la macro. J'ai absolument pas pensé à cette solution pour le cas présent.

Merci pour le coup de pouce ;)

Rechercher des sujets similaires à "execution macro"