Traitement Répertoire

fouggy

XLDnaute Junior
Bonjour à tout le forum,

Mon problème du jour est le suivant :

Je dispose d'un répertoire contenant 30 fichiers.
A l'intérieur de chacun des fichiers se trouve une macro dont le nom est le même.
A des fin de mise à jour, chaque jour, je dois ouvrir chaque fichier, lancer la macro puis refermer le fichier en enregistrant les modifications apportées.

Dès lors il me faudrait une macro qui dépasse le champs de mes compétences actuelles et ferait les choses dans l'ordre suivant, sachant qu'elle serait lancée dans le répertoire actif :

1/- Ouvre chacun des fichiers présents dans le répertoire actif et lance la macro qui se trouve dans chacun des fichiers et dont le nom est : "NOMDELAMACRO"
2/- Referme chaque fichier en enregistrant les modifications
3/- Arrête la procédure lorsque le dernier fichier est traité et signale-le moi par un message "msg box"

ATTENTION : A chaque fois que j'ouvre un fichier dont l'extension est naturellement ".xlsm", il m'est demandé d'activer la macro et la codification pour laquelle je vous sollicite devra l'activer de manière systématique.

Merci par avance.
 

Roland_M

XLDnaute Barbatruc
re

pas d'excuses ! perso je n'y croyais pas non plus au début !
car figures toi que j'avais vu l'espace et je l'avais supprimé au chargement avant de faire les tests !
naturellement ça fonctionné !
j'ai windows 7 64 bits et excel 2007 !
j'ai voulu essayer sur une autre ordi plus ancien avec vista et tout fonctionnait !
c'est là que je me suis rappelé que j'avais renommé ce fichier, j'ai remis l'espace et là bingo ! enfin bug !

j'avais même pensé aux accents é dans le nom de la macro !
puis la config, les options du fichier !

comme quoi on en apprend tous les jours !
 

fouggy

XLDnaute Junior
Bonjour le fil, bonjour le Forum,

J'ai modifié le nom de tous mes fichiers et cela marche désormais !

C'est franchement un truc de dingue... Très clairement...

Que le nom d'une macro n'accepte pas les espaces, je le conçois et d'ailleurs on est prévenu tout de suite, mais qu'un espace dans un nom de fichier empêche le déroulé d'une macro, alors ça, ça me trou le C... C'était impossible à trouver sauf à des experts... Chapeau bas...

D'autant que la ligne d'erreur surlignée porte sur le nom de la macro à ouvrir et non sur le nom du fichier, qu'il ouvre bien volontiers par ailleurs avant d'envoyer le message d'erreur !!! S'il n'avait pas ouvert le premier fichier avant le message, c'était encore autre chose...

Du coup, j'aimerais bien arriver à comprendre le pourquoi du comment ?

Un énorme merci à tous les intervenants sur ce fil et bonne journée.
 

Roland_M

XLDnaute Barbatruc
re bonsoir,

voilà la soluce !
je me souviens plus très bien mais j'avais déjà eu le même problème avec l'utilisation de Shell CheminFichier

'si des noms de fichiers contiennent des espaces remplacer cette ligne:
'CO.Application.Run CO.Name & "!MacroGénérale" 'lance la macro du classeur ouvert CO
'par ces deux lignes: entre "" c'est le caractère apostrophe !
AppelMacro$ = "'" & CO.Name & "'!MacroGénérale" 'lance la macro du classeur ouvert CO
CO.Application.Run AppelMacro$
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 915
Membres
101 837
dernier inscrit
Ugo