Importer des données d'un classeur externe

  • Initiateur de la discussion Initiateur de la discussion lilijolie
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

lilijolie

Guest
Bonjour,

Tout d'abord, je crois qu'il n'est pas trop tard, je vous souhaite une bonne année 2013 !

Voici mon souci depuis hier soir...
J’ai un fichier qui contient des données « de base » (appelé « Cost Center Allocation »). Ces données « de base » sont copiées/collées manuellement dans un onglet « Cost Center Allocation » d’autres classeurs. En effet, j’ai plusieurs classeurs qui reprennent tous, parmi leurs différents onglets, l’onglet « Cost Center Allocation ». J’ai écrit un bout de code dans un de mes classeurs qui va chercher les valeurs dans le fichier « Cost Center Allocation » et les colle dans l’onglet « Cost Center Allocation ». Cependant, le code inscrit le nom exact dans lequel je veux copier coller ces valeurs. Or, je souhaiterais une macro plus générique en copiant collant les valeurs dans le fichier ouvert. Auriez-vous une idée ?

En me relisant, je ne sais pas si je suis très claire….

Merci d’avance et bonne journée à tous !
 

Pièces jointes

Re : Importer des données d'un classeur externe

Bonjour,

Je te propose une autre démarche
Mettre le programme dans le fichier Costcentre....
Programme présent qu'une seule fois
Le fichier destinataire étant ouvert : recherche de ce fichier et activation de ce fichier (déjà ouvert) et copie des infos dans ce fichier
Je pars du principe que tu n'as que deux fichiers excel ouvert au moment du traitement : le premier cité ci-dessus et le fichier destinataire
Je n'ai pas changé la fin du programme : le close du fichier (sûrement à modifier dans ce contexte)
On aurait pu imaginer une autre démarche si tous les fichiers étaient dans un même répertoire (uniquement que ces fichiers y compris le fichier Costcentre... qui porte le programme

A suivre
 

Pièces jointes

Dernière édition:
Re : Importer des données d'un classeur externe

Bonjour et merci beaucoup à vous deux ! Je suis désolée de vous répondre si tard... Je viens d'implémenter la solution de Chalet53 qui marche très bien. Je serais bien intéressée par "l'autre démarche" car tous mes fichiers à mettre à jour se trouvent sous un même répertoire (qui change cependant tous les mois - incrémentation des mois). En revanche, le fichier CostCentre est lui sous la racine directement. Est-ce que cette "autre démarche" serait quand même possible ?

Encore merci et très belle journée à vous !
 
Re : Importer des données d'un classeur externe

bonjour lilijolie

Très belle journée : tu ne crois pas si bien dire. Je suis à la montagne. Il est tombé 30 à 40 cm de neigne : les paysages sont magiques
Bref, revenons à ton problème.
Le fichier CostCentre étant sur la racine, les autres fichiers peuvent être sur des répertoires différents.
Dans ce que je t'avais fait, j'étais parti du principe que le fichier destinataire était déjà ouvert.
On peut imaginer (costCentre étant ouvert) ouvrir les fichiers destinataires dans un autre répertoire (à condition que celui-ci, s'il change chaque mois, soit construit suivant un algorithme calculable du style (toto01 pour le mois de Janvier, toto02 pour le mois de février et ainsi de suite)
Peux-tu préciser la façon dont tu veux traiter tes données : est-ce ainsi

J'ouvre Costcentre et lance le programme
Celui-ci calcule le répertoire de destination : toto (suivi du mois en cours). Le mois de traitement pourrait être la réponse à une question (quel mois voulez-vous traiter?)
Ouvre un à un les fichiers de ce répertoire et fait la copie dans la feuille concernée
Referme ce fichier et passe au suivant

A te lire
 
Re : Importer des données d'un classeur externe

Quelle chance de voir la neige... Nous, il pleut et il vente mais il ne neige pas :-(

Sinon, effectivement, j'aimerais procéder comme tu le décris ci-dessus. Toutefois, plutot que de figer le nom du répertoire en suivant une règle (toto01, toto02), serait-il possible plutot de:
- ouvrir CostCentre et le mettre à jour
- Lancer une macro qui demande de sélectionner un répertoire et, une fois ce répertoire sélectionné, ouvre et met à jour un après l'autre les fichiers, comme tu le décris ?

Je préfèrerai cette solution car il est difficile de discipliner mes collègues aux règles de "dénomination de fichiers"...

Encore merci !
 
Re : Importer des données d'un classeur externe

re,

C'est possible comme tu le demandes. Toutefois, ton répertoire sera un sous répertoire ou directement sur un lecteur (C, D, E, ...)
Qui crée les répertoires : toi ou tout le monde
Qui lance la macro : toi ou tout le monde
Qui crée les fichiers dans le répertoire en question : toi ou tout le monde
Si c'est toi qui crée les fichiers dans les nouveaux répertoires : pourquoi ne pas recopier le fichier source (qui dispose de la macro) dans ce même répertoire. Si cette solution est possible, ça peut simplifier la programmation (notamment avec l'instruction : ActiveWorkbook.Path qui permet d'identifier le répertoire où se situe le fichier porteur de la macro. les autres fichiers étant dans ce même répertoire, c'est plus simple pour les trouver.

A te lire
 
Re : Importer des données d'un classeur externe

Merci Chalet53. J'ai utilisé l'instruction ActiveWorkbook.Path dans une autre macro et ai bien spécifié à mes collègues qu'il fallait que tous les fichiers soient sous le meme répertoire et ca n'a pas été facile... Comme tout le monde (on est 4) va créer des fichiers pour son périmètre, ca serait plus simple de n'avoir qu'un fichier CostCentre, sous la racine. Chacun pourra le mettre à jour avec ses nouvelles infos sans se demander quelle est la version la plus récente...

Désolée pour la complication :-(
 
Re : Importer des données d'un classeur externe

Re,

J'ai un peu de contrainte en ce moment : ski ,randonnées en raquettes
Je vais consacrer du temps à ton problème dès que j'ai quelques minutes
j'aurai peut-être besoin de précisions notamment une réponse aux questions que je soulève au début du post 7

a+
 
Re : Importer des données d'un classeur externe

bonjour,

tu attends peut-être une réponse dans l'esprit de ta demande au post 6 : Lancer une macro qui demande de sélectionner un répertoire et, une fois ce répertoire sélectionné, ouvre et met à jour un après l'autre les fichiers, comme tu le décris ?

Cette liste de répertoires serait renseignée où? Ce pourrait être dans une feuille du fichier CostCentre Allocation nommée Paramètre
Il faudrait que le nom du répertoire soit complet intégrant la lettre du Disque dur où il se situe, du style : D:\Nom Répertoire
On pourrait ensuite imaginer de sélectionner le répertoire à partir d'une boîte de dialogue

A te lire

a+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
890
Retour