Excel Référence d'une cellule

Fermé
ppil Messages postés 33 Date d'inscription lundi 1 octobre 2007 Statut Membre Dernière intervention 8 octobre 2009 - 8 sept. 2008 à 13:36
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 9 sept. 2008 à 23:19
Bonjour,

Depuis une cellule Excel je souhaiterai récupérer des valeurs se trouvant dans un autre fichier situé dans un autre répertoire. Et je souhaiterai uniquement changer le numéro de la semaine pour obtenir les valeurs de celle-ci

Voici ce que j'ai mis:
='C:\Planning semaine 37\Planning semaine 37[Planning de la semaine 37.xls]Récapitulation'!C4
Celle-ci marche très bien.

Mais je souhaiterai:
='C:\Planning semaine XX\Planning semaine XX[Planning de la semaine XX.xls]Récapitulation'!C4
Je souhaiterai remplacer le XX par une valeur siué dans la cellule A1.

Donc j'ai essayé ça:
='C:\Planning semaine ' & A1 & '\Planning semaine ' & A1 & '[Planning de la semaine ' & A1 & '.xls]Récapitulation'!C4
Et ça ne marche pas.

Pouvez-vous m'aider?

Merci d'avance

Pascal
A voir également:

18 réponses

essaye ceci :

='C:\Planning semaine " + A1 + "\Planning semaine " + A1 + "[Planning de la semaine " + A1 + ".xls]
0
ppil Messages postés 33 Date d'inscription lundi 1 octobre 2007 Statut Membre Dernière intervention 8 octobre 2009 13
8 sept. 2008 à 13:48
Essai non concluant.

Message #REF!

Pascal
0
Hm,
Si j'ai bien compris ton problème tu veux ouvrir un fichier : ='C:\Planning semaine XX\Planning semaine XX[Planning de la semaine XX.xls]Récapitulation'!C4
Mais cette variable pour XX stocké dans A1, elle se trouve dans ce même fichier, dans une autre feuille?

Réessaye ça : ='C:\Planning semaine " + A1 + "\Planning semaine " + A1 + "[Planning de la semaine " + A1 + ".xls]Récapitulation'!C4
0
ppil Messages postés 33 Date d'inscription lundi 1 octobre 2007 Statut Membre Dernière intervention 8 octobre 2009 13
8 sept. 2008 à 14:16
La cellule A1 se trouve dans le même feuille.

J'ai réessaié. Voici le message
Une des formules de cette feuille de calcul contient une ou plusieurs références externes non valides.
Vérifiez que le chemin d'accés, le classeur, le nom de la plage et les références de cellules de toutes les formules sont corrects.
Plus bouton OK

???
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ppil Messages postés 33 Date d'inscription lundi 1 octobre 2007 Statut Membre Dernière intervention 8 octobre 2009 13
8 sept. 2008 à 14:18
En VBA avec les guilllemets ça marche, mais directement dans une cellule avec les guillements ou les apostrophes, ça ne marche pas!!!

Donc comment faire?
0
='C:\Planning semaine "" + A1 + ""\Planning semaine "" + A1 + ""[Planning de la semaine "" + A1 + "".xls]Récapitulation'!C4

Ca, ca devrait être bon
0
='C:\Planning semaine "" + A1 + ""\Planning semaine "" + A1 + ""[Planning de la semaine "" + A1 + "".xls]Récapitulation'!C4

Ca, ca devrait être bon
0
='C:\Planning semaine "" & A1 & ""\Planning semaine "" & A1 & ""[Planning de la semaine "" & A1 & "".xls]Récapitulation'!C4

Avec les & plutot, pardon pour le dernier post :)
0
ppil Messages postés 33 Date d'inscription lundi 1 octobre 2007 Statut Membre Dernière intervention 8 octobre 2009 13
8 sept. 2008 à 14:54
Avec les + ou les & j'ai toujours un problème de #REF!

J'ai refait un essai avec un autre fichier situé dans le même répertoire, et c'est idem.
='[Planning de la semaine "" & A1 & "".xls]Récapitulation'!$A$2
problème de #REF!

Est-ce que chez toi ça marche?
0
Bah Quand je fais tout bêtement un ="" & A1 & "" dans ma cellule A2 j'ai bien la valeur de A1 donc je vois pas d'où vient le problème mais il doit pas s'agir de la variable!
0
ppil Messages postés 33 Date d'inscription lundi 1 octobre 2007 Statut Membre Dernière intervention 8 octobre 2009 13
8 sept. 2008 à 15:01
="" & A1 & ""
ça marche aussi chez moi, mais
='[Planning de la semaine "" & $A$2 & "".xls]Récapitulation'!$A$2
nada, ça ne marche pas!!!
0
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
8 sept. 2008 à 18:14
Bonjour,

Je débarque dans cette discussion trés intérressante, j'ai cherché un peu et il me semble que la bonne syntaxe est avec l'utilisation de la fonction INDIRECT(). Car elle force l'interprétation des références de cellules dans la formule.

Je pense donc qu'il faut écrire :

=INDIRECT("'[Planning de la semaine "& $A$2 & ".xls]Récapitulation'!$A$2")

J'ai fait fonctionné un exemple mais je crois que malheureusement il faut que le classeur externe soit déjà ouvert, je n'ai pas testé avec le nom complet du fichier.

Est-ce que ça marche chez vous ?
0
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 243
8 sept. 2008 à 18:18
bonjour à tous

t'inquiete pas pilas31, ta formule est Ok
0
ppil Messages postés 33 Date d'inscription lundi 1 octobre 2007 Statut Membre Dernière intervention 8 octobre 2009 13
9 sept. 2008 à 08:46
Merci Pilas31,

Ta formule marche, mais...

le fichier source doit être ouvert.

Sans être perfectionniste, je dirais que mon problème n'est toujours pas résolu.

Je dois pas être le 1er à avoir ce problème.

Est-ce que quelqu'un sait comment résoudre ce problème.

ppil
0
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
9 sept. 2008 à 11:31
Bonjour à tous,

Oui malheureusement en Excel standard il n'y a pas de solution car si tu utilises des parties variables dans le nom de ta référence externe il faut utiliser la fonction INDIRECT() et cette fonction ne marche que si le fichier source est ouvert.

Donc il ne reste plus qu'une voie possible, créer une fonction personalisée en VBA. Je n'ai pas fait l'exercice mais celà me semble possible.

Est-ce que vous êtes de mon avis ?

A+
0
ppil Messages postés 33 Date d'inscription lundi 1 octobre 2007 Statut Membre Dernière intervention 8 octobre 2009 13
9 sept. 2008 à 16:15
Merci Pilas31,

Le VBA sera une solution. Je trouve que c'est contourner le problème.

Mon problème me parrait être basic. Et que la seule solution reste le VBA, je trouve ça ... bizarre.

Je laisse encore ma question ouverte 1 à 2 jours, si part hasard quelqu'un trouve LA solution, ensuite je clôturerai ma question.

Mise à part ça, en VBA cela donnerai quoi?

ppil
0
ppil Messages postés 33 Date d'inscription lundi 1 octobre 2007 Statut Membre Dernière intervention 8 octobre 2009 13
9 sept. 2008 à 16:51
Celle-ci marche en VBA. Bien sur il faut la mettre à l'ouverture du document et comme ça plus, de soucis.

Private Sub Workbook_Open()
Dim iNSem As Integer
iNSem = Cells(1, 15) ' Contient le numéro de la semaine
Range("C15").Formula = "='C:\Planning semaine " & iNSem & "\Planning semaine " & iNSem & "[[Planning de la semaine " & iNSem & ".xls]Récapitulation'!$A$2"
End Sub

3 lignes de VBA et tout est OK.

Merci à tous

ppil
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
9 sept. 2008 à 23:19
Bonsoir,

Par formule je crois qu'il n'y a pas le choix, c'est classeur ouvert.
S'il est fermé, la seule astuce (si on peut appeler ça ainsi) que j'ai c'est de créer toutes les formules necessaires (par concaténation, copier/collage spécial valeur) dans un onglet et rechercher le résultat voulu dans la liste avec, dans ton cas, les n° de semaines en 1ere colonne.
Lors de la fabrication de la formule le début doit être " =" (avec un espace devant), et on termine en remplaçant ' =' par '='
Mais bon, comme tu n'as pas l'air d'avoir d'allergie à vba il n'y a plus de pb
eric
0