Ref externe en variable dans feuille Excel

  • Initiateur de la discussion Initiateur de la discussion Jeff2b
  • 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 !

J

Jeff2b

Guest
Hello tous,

je suis un peu junior comparé à vous si j'en crois vos post sur ce forum. Donc merci pour votre aide, j'essayerai, dans la mesure de mes moyens de renvoyer l'ascenseur.

Mon pb est le suivant :

J'ai une base de donnée simple. Chaque ligne correspond à une voiture avec l'ensemble des détails la concernant. Pour le moment, la base n'existe pas mais j'ai une fiche technique pour chaque voiture. Il y a autant de fichiers Excel identiques dans leur structure que de voiture.

Ce que je veux faire, c'est pouvoir taper seulement le NR REf de la voiture dans le premier champ de la base de données et que, automatiquement, les autres champs s'affichent. Donc en quelques sorte, le premier champ est une variable inclue dans les formules des autres champs, cette varaible etant le nom du fichier correspondant à la fiche technique de la voiture. Il est évident que toutes les fiches techniques sont stockées dans un seul dossier.

Ce que je veux, c'est rendre variable le A212 dans la formule suivante :

=+'A212'!C7


NB: Dans l'exempe joint, les fiches et la base de données sont dans le meme fichier

Merci pour votre aide.

A +

Geoffroy
 

Pièces jointes

Bonsoir

Je ne suis pas specialiste des formules mais avec des fichiers differents je pense qu'une macro s'avere plus adapte ci joint un exemple qui peut facilement s'adapte avec des fichiers differents.

@+Vincent
 
Re

desole grosse boulette (je me demandais pourquoi mon fichier etait aussi gros...c'est normal ce pas le bon lol !!!).

pc5.gif

Voila le bon.

@+Vincent
 

Pièces jointes

Génial, un grand merci pour cette idée. Maintenant, si on imagine que les feuilles A212, A213, A214 etc... sont des fichiers différents contenus dans un mème répertoire sur le disque dur ?!?! Si qqun me trouve ca, vous etes vraiment des stars !
 
Re Jeff

Sort les étoiles une star est née lolllllll !!!!!

Voilà le fichier (qui contient 3 fichiers le prog + 2 fiches).Par contre j'ouvre et je referme les fiches (la methode qui permet d'extraire les données sans ouvrir les fichiers reste encore un peu obscure).

Bonne soirée

@+Vincent

ps on a du se croiser sur un autre fil au sujet du même problème.Si c'est le cas je vais te renvoyer sur ce fil
 

Pièces jointes

Vraiment merci, je vais essayer de retravailler pour ne pas ouvrir le fichier car dans mon cas réel, il y a environ 1000 fiches et chacune d'elles contient des macros et pese 4MO. Si une bonne ame veut m'y aider, ce sera pas de refus car je ne suis pas une star dans votre genre, ni meme la moitié d'une...

A ++

Jeff
 
Aussi, et pour ajouter un chouia de piquant, si les cellules cible dans chaque fiche sont éparpillées sur plusieurs feuilles dans un meme classeur et sur chaque feuille de facon desordonnée (bien qu'identique sur chaque fiche), dans le genre du fichier joint....désolé j'abuse

Un immense merci en tout etat de cause

A +

Jeff
 

Pièces jointes

Parmi les stars du forum, quelqun peut-il m'aider ou placer des explications dans le code de la feuille envoyée par Vincent plus haut car j'ai passé 4 heures à retravailler dessus sans succès jusque là....

Merci pour votre aide

A +

Jeff
 
Re Jeff

Je reviens de l'étranger et je vois que tu n'as pas pus resoudre tes problèmes.Je n'arrive toujours pas à extraire des données d'un fichier fermé par contre pour ton probléme de cellules éparpillées, si les données sont toujours au même endroit ça ne posera pas de problème.Il me faudrait juste le format de presentation sur ton fichier recap.

@+Vincent
 
Bonjour, Jeff, Vincent

Si tu veux conserver les différentes présentations des données dans tes feuilles, libre à toi Jeff. Mais pour faciliter le travail de ton code VBA, il faudrait que tu nommes les cellules de chaque feuille, et dans ton code au lieu de faire appel à la référence de la cellule, tu indiques le nom de la cellule.

Exemple, au lieu de Range("A1"), tu nommes la cellule A1 "voiture", dans le code tu indiques Range("voiture"), etc

@+Jean-Marie
 
Merci à vous pour cette aide. Voici en piece jointe un exemple des fichiers que j'utilise mais simplifiés. J'ai donc environ 1000 fichiers "voiture" et une seule base. Ils sont tous stockés dans le meme Dossier sur un serveur.

Merci et a +

A votre dispo si vous avez des questions
 

Pièces jointes

Je ne comprend pas bien ta question... En un mot, tous les champs contenus dans la fiche exemple, je veux les récuperer dans la base de donnee Sumary....je ne les ai pas toutes mise pour simplifier, c'est tout.

Je ne suis pas certain d'etre clair.

Merci

Jeff
 
Re

Je pense que ceci fera l'affaire

remplace dans le code du fichier que j'ai joint plus haut ceci

With classeur.Sheets(1)
For i = 7 To 9
Cells(Target.Row, i - 5) = .Cells(i, 3)
Next
End With

par ça

feuille = Array(0, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2) 'ici les feuilles ou ce trouve tes données dans l'ordre qui va bien (c'est pour ça que je voulais un exemple complet)
adresse = Array("", "b7", "c7", "g4", "b7", "c7", "g4", "b7", "c7", "g4", "b7", "c7") 'ici les cellules ou ce trouvent les données dans l'ordre de la feuille de recap
For i = 1 To 11
With classeur.Sheets(feuille(i))
Cells(Target.Row, i+1) = .Range(adresse(i))
End With
Next

ensuite rajoute sous

Dim classeur As Object
ceci

Dim feuille,adresse

Voilà

@+Vincent

Ps cela ne fonctionne que si tes données sont toujours placées de la même façon
 
- 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
10
Affichages
662
Retour