Aller chercher des données dans différents classeurs

Bonjour à tous,

Voici mon problème:

J'ai un tableau de bord qui me permet de connaitre le taux de remplacement par sites (A,B,C...).

Actuellement, sur chaque planning ce tableau de bord était présent.

Je souhaiterais "externaliser" ce tableau sur un fichier à part mais qui soit commun à l'ensemble des sites.

C'est-à-dire qu'avec une liste déroulante, on pourra avoir les valeurs de chaque site.

Je vous mets en pièce jointe mon fichier et espère que quelqu'un aura une solution à mon problème.

Je pensais essayer de régler le problème avec la formule =indirect mais sans succès.

15test.zip (9.01 Ko)

Bien cordialement,

Hello,

J'ai fait une rapide recherche sur le forum. Regarde si ça peut te servir?

Il faut que tu passes par du vba à mon avis.

https://forum.excel-pratique.com/excel/liste-deroulante-permettant-l-ouverture-d-onglets-t16340.html

Petite question est-ce que les fichiers sont dans le même dossier?

Cordialement.

Bonjour,

Tout d'abord merci pour votre réponse !

Par contre, les données que je souhaite aller chercher sont dans des classeurs différents.

En fait j'ai 13 fichiers excel indépendants les uns des autres.

Ne sachant pas coder du VBA auriez-vous une petite idée ?

Merci d'avance

Hello,

Ok en fait ça dépend ce que tu veux faire.

Tu veux un fichier master qui centralise les 13 autres.

1/ Soit ouvrir les fichiers avec une liste déroulante via le master qui sert qu'à cela?

2/ Soit copier les valeurs des 13 fichiers dans le fichier master?

Tu indiques que le fichier sera commun à tous les sites. Fait attention si les gens travaillent en commun dessus ça risque de bugger.

Voila si tu peux apporter des précision sur ton projet.

Oui en fait je souhaite avoir un fichier commun pour les 13 sites.

Avoir une centralisation des données sur un seul et même fichier.

Exemple:

J'ai le planning de A sur un fichier excel indépendant.

Je souhaite obtenir les données présentes sur ce planning sur mon fichier "Test"

En changeant le planning dans la cellule A1 (via la liste déroulante), il faut que je puisse récupérer les données du planning choisi.

Je ne sais pas si je suis claire...

Hello,

Alors je vois ce que tu veux faire, ça semble intéressant comme projet. En revanche je pense que ça risque de poser pas mal de problème avec excel.

Voir si d'autres membres ont une idée sur ton projet? Moi j'utiliserai access !

Voila mais on va peût-etre me contredire

Bonne journée.

Vous avez certainement raison mais au sein de mon entreprise nous n'avons pas Access...

Excel est donc le seul moyen avec lequel je puisse tenter quelque chose

Hello,

Regarde j'ai commencé à faire une macro qui permet d'ouvrir un fichier fermé via excel.

Bonne journée.

45coconut-6.xlsm (18.27 Ko)

Je ne suis pas très douée visiblement mais à quoi sert cette macro ?

Je l'ai intégré au fichier "Test":

23test.zip (12.18 Ko)

Elle sert à copier la valeur d'une feuille présente dans un de t'es 13 fichiers dans dans ton classeur TEST.

Ouvre VBA avec Alt + F11.

Tu as juste à mettre le lien du fichier dans cette ligne :

'Fichier = "chemin du fichier que tu veux ouvrir.xlsx"

Exemple :

Fichier = "C:\Documents and Settings\mimi\dossier\NomClasseur.xlsx

Ensuite donner le nom de la feuille à copier.

    'Nom de la feuille dans le classeur fermé
    NomFeuille = "Feuil1"

Et dans ta première feuille de test vont apparaître les valeurs sans ouvrir le fichier.

C'est plus clair?

Très clair merci !

Par contre... Ca ne fonctionne pas

En fait, quand je veux activer la macro, ca m'indique: erreur de compilation: type défini par l'utilisateur non défini et ca surligne la deuxième ligne: Dim Cn As ADODB.Connection

J'ai une autre petite question, étant donné que j'ai 13 fichiers différents comment dois-je faire pour indiquer le nom du fichier ? Car il n'y en a pas qu'un mais 13.

Pareil pour les noms de feuille, il y en a 12 par plannings ?

Merci beaucoup pour votre aide !

IL faut que tu coches la bibliothèque "microsoft activeX data object 2.x library" dans outils-reference de l'éditeur VBE. Pour eviter le message d'erreur.

Ah oui 12 feuilles par planning !!

Mais à chaque fois tu veux les 12 feuilles dans test pour chaque classeur sélectionné.

Cela fait une grosse application ça !!

La je cale un peu j'avoue. Faut une autre méthode alors.

Juste copier les onglets en entier dans test semble la solution?

capture referenc

En fait mon exemple ne va pas fonctionner.

Il suffit d'ouvrir le fichier que tu souhaites via le menu déroulant.

Et tu copie les onglets dans le classeur test.

Un truc tu style:

Sub list()
Dim wbEstimate As Workbook
Set wbTest = ThisWorkbook '
Dim wbTest As Workbook
Set wbEstimate = Workbooks.Open("C:\Users\path\to\test.xlsx")

For Each Sheet In wbEstimate.Sheets
    Sheet.Copy after:=wbTest.Sheets(wbTest.Sheets.Count)
Next
End Sub

Attaché un debut de macro qui copie les onglets classeur 1 dans coconut-6 v2

5classeur1.xlsx (10.18 Ko)
5coconut-6-v2.xlsm (21.36 Ko)

Désolé pour cette réponse tardive, je viens de tester cette nouvelle méthode mais ca ne fonctionne pas sur mon fichier, ca me mets: erreur d'exécution 1004: désolé nous ne trouvons pas C:\ etc...

Alors que le chemin est le bon (copier-coller plusieurs fois pour être sûre)

Hello coconut-6,

Alors pour l'erreur, sans ton fichier je peux pas trop te dire.

Regarde j'ai une version améliorée qui devrait te convenir.

J'ai testé chez moi avec 13 classeurs dans le même dossier que le classeur coconut-6 v3.

Cela fonctionne nickel, aprés je suis sur 2013.

Teste si le fichier attaché marche chez toi?

Pour le test : j'ai crée 13 classeurs bidons lol avec 12 feuilles comme dans ton projet !!

Voila bonne journée.

6coconut-6-v3.xlsm (22.59 Ko)

Bonjour,

Tout d'abord merci pour votre aide et votre patience !

J'ai un petit souci, j'ai bien vérifié le chemin d'accès au fichier toutefois ca ne fonctionne pas...

Ca m'indique que le fichier est introuvable.

Avec les fichiers, peut-être pourrez vous trouver d'où vient le problème ?

Merci beaucoup

Voila chez moi ça fonctionne teste les versions attachées.

Regarde j'ai corrigé 2-3 trucs notamment la liste de donnée et le planning enregistré au format xlsm.

Je pense que c'est la bonne

Euh... J'ai un petit souci, ca marche mais ca me crée une nouvelle feuille sur le planning avec le tableau de bord.

Or à la base mon fichier était inséré dans chaque planning le problème était justement celui-ci.

Il me fallait un tableau de bord à part.

Je ne sais pas si c'est mon ordinateur mais quand il cherche mon écran "clignote" et ca m'indique un temps de recherche ?

Mais sinon c'est vraiment ca dont j'ai besoin mais il faudrait que ce soit le tableau de bord qui soit rempli et non une nouvelle feuille.

Je ne sais pas si c'est vraiment réalisable...

En tout cas merci pour votre aide

Ce que fait le programme :

1/ Il ouvre le fichier planning et il va recopier tout les onglets planning dans le tableau de bord tout simplement.

2/ Il clignote car cela prend du temps pour excel d'effectuer l'opération.

Sinon l'idée que vous voulez c'est que le tableau de bord ce mette à jour avec les nouveaux onglets copiés? J'avoue pas tout comprendre à ce que vous voulez faire.

Ce que je souhaiterais c'est:

  • avoir mon fichier tableau de bord et mes 13 plannings indépendants (soit 14 fichiers différents)
  • avec la liste déroulante, pouvoir choisir un planning parmi les 13
  • une fois ce planning choisi, appuyer sur importer et que le tableau de bord se remplisse avec les données du planning en question

Je ne sais pas si c'est plus clair ?

Rechercher des sujets similaires à "aller chercher donnees differents classeurs"