Bonjour à tous,
je commence tout juste à me plonger dans l'utilisation d'excel (oui, ma version n'est pas des plus récente mais suffisante)
Voici mon problème :
j'ai une feuille principale, baptisée "collecte_donnees.xls", et mon objectif est de récupérer des données prises dans d'autres fichiers excel. En particulier, l'un de ces fichiers s'appelle "source_donnees.xls"
J'ai crée des macros, qui se lancent depuis la page "Feuil1" de "collecte_donnee.xls". Via
Workbooks("source_donnees").xls.activate (cette formule est fausse, je ne me souviens plus exactement de celle utilisée, je suis sur un autre pc
J'utilise également
Sheets("FeuilX").activate pour passer d'une feuille à l'autre et collecter les données (ici sur la feuilleX) (je ferais d'ailleurs peut etre mieux d'utiliser .Select plutôt que .Activate...)
Voici ma difficulté :
je passe régulièrement d'un fichier à l'autre.
Je prépare les données sur "collecte_donnees", puis je bascule sur "source_donnees" pour faire les recherches qui m'intéressent et enfin je retourne sur "collecte_donnees" pour les afficher à l'écran.
Le problème est que le fichier "collecte_donnees" est amené à être renommé en fonction du type de recherche que j'y fais. De même, le nombre de feuilles varie, et elles changent de nom.
En faisant "enregistrer sous", je change le nom de "collecte_donnees" vers "collecte_noms" par exemple. Le souci est que ma macro ignore ce changement, puisque j'utilise Workbooks("collecte_donnees.xls").activate pour sélection le classeur et Sheets("Feuil1").activate pour passer sur la bonne feuille.
Du coup, à la compilation, j'ai l'air bien bête en étant sur le classeur "collecte_noms", sachant que ma macro cherche à aller sur "collecte_donnees"... Point important : "collecte_..." est le classeur depuis lequel je lance ma macro.
Comment puis-je faire pour que ma macro reste générique ?
J'aimerais que ma macro s'adapte au nouveau nom de fichier à l'enregistrement, et donc que ma macro marche dans tous les cas.
De même, il faudrait que je puisse renommer les feuilles (par exemple de Feuil1 vers Noms_Famille) et que ca n'affecte pas le fonctionnement de ma macro.
Ainsi, il faudrait que ma macro utilise le nom du fichier, mais sans l'écrire. Il me faudrait aussi utiliser la position des feuilles, mais sans les nommer.
Comment puis-je faire celà ?
J'ai parcouru le forum sans succès, et l'aide d'Excel (97 s'il vous plait) est des plus obscures...
D'avance merci pour votre aide !
Cyrille
Partager