Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Nom d'un fichier avec tiret et formule Indirect

Amilo

XLDnaute Accro
Bonsoir le forum,

J'exporte depuis un site Internet un fichier .pdf que je convertis ensuite en fichier .xlsx
Je ne modifie pas volontairement le nom du fichier pour gagner un peu de temps et ce dernier comporte un tiret, comme par exemple : Source-test.xlsx

J'ai un second fichier Excel dans lequel j'ai une formule de recherche avec notamment Index-Equiv imbriqués à d'autres fonctions...et qui va rechercher des infos dans le fichier Source-test.xlsx
Jusque là pas de souci et le problème est parvenu lorsque j'ai essayé d'optimiser ma formule en imbriquant la fonction Indirect dans ma formule de recherche, je reçois alors une erreur #REF! alors que mes 2 fichiers sont ouverts.

En remplaçant le tiret par le underscore dans le nom du fichier Source_test.xlsx, la formule de recherche fonctionne.

Faut-il éviter les tirets dans les noms de fichier, y a-t-il sinon une astuce pour corriger le problème en gardant le tiret ?

Pour info, j'ai intégré la fonction Indirect dans ma formule de recherche car les données exportées depuis le Web vers Excel changent régulièrement de position de colonnes. La fonction Indirect me permet d'ajuster rapidement les plages.

Merci d'avance pour vos remarques et solutions.

Cordialement
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour Amilo ,

Les noms de fichiers acceptant le tiret depuis belle lurette, je ne pense pas que le le bug provienne du nom de fichier. A mon avis, cela vient plutôt de la formule. Comme ni formule, ni fichier n'a été publié, je ne vois pas comment résoudre ton anomalie.

A plus.
 

Amilo

XLDnaute Accro
uBonjour le forum, mapomme,

Merci mapomme pour votre réponse, je vous mets en pièces jointes 3 fichiers pour test,

Dans le fichier Recherche.xlsx vous trouverez les formules et tous les paramètres qui permettent de sélectionner (notamment dans la cellule D11) soit le fichier Source_test.xlsx soit le Source-test.xlsx.

Ces 3 fichiers doivent bien sûr être ouverts pour vérifier que la formule de recherche fonctionne qu'avec le nom de fichier avec le underscore "Source_test.xlsx".
Vous trouverez davantage d'information dans le Recherche.xlsx
Merci d'avance

P.S : j'ai oublié de rajouter qu'une simple formule Index(;equiv()) sans imbriquer la fonction Indirect() fonctionne très bien avec les 2 fichiers sources

Cordialement
 

Pièces jointes

  • Recherche.xlsx
    12.7 KB · Affichages: 56
  • Source_test.xlsx
    8.9 KB · Affichages: 34
  • Source-test.xlsx
    8.9 KB · Affichages: 37
Dernière édition:

Shakki

XLDnaute Occasionnel
Bonjour,

Si tu fais un lien direct vers une cellule du fichier Source-Test, tu remarqueras qu'il y a des apostrophes.

Il faut donc que tu les rajoutes dans ta formule comme ci-dessous :
"'["&$D$11&"]"&$D$13&"'!"&$G$13&$D$15&":"&$G$13&$D$17

A+
 

Amilo

XLDnaute Accro
Bonjour Shakki,
Merci pour votre réponse, effectivement ça fonctionne désormais,
Pourtant dans mon fichier d'origine j'avais les apostrophes car le nom de ma feuille comporte un espace,
d'où les apostrophes,
Cependant la formule de recherche est beaucoup plus complexe (d'autres fonctions sont imbriquées comme Aleatoire.entre.bornes, Nbval....etc) que la simple formule dans mon exemple. Peut être qu'une erreur dans la formule m'avait échappée.
Je retiendrais donc qu'il vaut mieux toujours ajouter les apostrophes quelque soit le nom de la feuille (avec ou sans espace) pour éviter ce genre de surprise.

P.S :
Si tu fais un lien direct vers une cellule du fichier Source-Test, tu remarqueras qu'il y a des apostrophes.
Bien vu pour la remarque ci-dessus, effectivement dans ma formule de recherche sans la fonction Indirect que je viens de tester à l'instant, les apostrophes sont ajoutées automatiquement avec le nom de Source-test.xlsx et n'en met pas avec Source_test.xlsx.

Merci à vous

Bonne journée
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…