Aide sur fonction INDIRECT

Bonjour à tous,

Je suis en train de m'arracher les cheveux sur un sujet que je ne comprends pas, j'ai besoin de votre aide

Je vous mets mon fichier en PJ afin de mieux comprendre ma problématique.

exemple ligne 4

En renseignant en I4 un nom quelconque et en exécutant la macro creerFeuilles associée au bouton "Créer les fiches", j'obtiens une nouvelle feuille nommée par ce que j'ai renseigné en I4 qui est une copie d'un modèle pré-établi.

Ensuite, je complète cette nouvelle fiche manuellement avec diverses informations.

Maintenant, sur mon onglet "Annonceurs", j'aimerais copier en N4 le contenu de la cellule D19 de la feuille que je viens de créer.

J'ai donc utilisé la formule suivante qui me paraissait adéquate

=INDIRECT("'"&I4&"'!D19")

> J'obtiens en résultat un #REF!

J'ai essayé exactement la même formule sur un fichier "vierge" et celle-ci fonctionne très bien.

Je ne comprends donc pas pourquoi cela ne passe pas ici, car pour moi la cellule que je vise existe bien et est bien renseignée..

Avez-vous des idées ?

Merci d'avance pour l'aide que vous pourriez m'apporter !

Salut Rula, et bienvenue sur le Forum,

Je vous mets mon fichier en PJ afin de mieux comprendre ma problématique.

ABS de fichier dans ton précèdent message :p

> J'obtiens en résultat un #REF!

Cette erreur arrive quand on fais référence à une cellule qui n'existe pas.

Est-ce que tu est sur que le nom de l'onglet renseigné en cellule I4 est correct ?

Restant à dispo

Édit : D’ailleurs tu peux retirer les deux premiers guillemet dans ta formule INDIRECT

Merci pour l’accueil !

Hum, oui avec la PJ c'est mieux... la voici

Le nom de l'onglet renseigné est une copie de ce qui se trouve en I4.

J'ai eu la même réflexion que toi mais pour moi tout est OK; je passe sûrement à côté de quelque chose !

Merci à toi

Bonjour,

Supprime l'espace en fin de chaîne dans le nom de ta feuille (CESi NANTES).

Cdlt.

Bonjour Jean-Eric,

Bien vu ! Mais ça ne résout pas mon problème, j'obtiens toujours #REF!

Bonjour,

edit bonjour Jean-Eric,

ta procédure de création de feuille ajoute un espace à la fin du nom trouvé en I4. et donc indirect ne trouve pas le nom de feuille

une solution possible, ajoute un blanc dans ta fonction indirect

=INDIRECT("'"&I4&" '!D19")

Re,

Le problème viens du code qui te rajoute un espace inutile à la fin du nom de ton onglet :

Remplace cette ligne :

ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name = curCell.Value & " " & curCell.Offset(0, 1).Value

Par :

ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name = curCell.Value & curCell.Offset(0, 1).Value

Dans ta macro "creerFeuilles"

Tu n'aura plus cet espace, et l'INDIRECT ne sortira plus de #REF

C'est parfait !

Merci à toi

Effectivement ce blanc est inutile et l'erreur venait d'ici. Je corrige de suite cette macro pour le retirer !

Encore merci, je clôture ce sujet

Vous avez tous les deux la même réponse

Merci à toi également Juice, je vais pouvoir garder le peu de cheveux qu'il me reste !

Bonjour

Effectivement ce blanc est inutile et l'erreur venait d'ici. Je corrige de suite cette macro pour le retirer !

note que le jour où tu auras une valeur en colonne J, ta formule ne fonctionnera plus.

adapte le code ainsi, si la valeur de la colonne J est inutile

ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name = curCell.Value

si la valeur de la colonne J est utile

adapte ta formule ainsi

=INDIRECT("'"&I4&J4&"'!D19")
Rechercher des sujets similaires à "aide fonction indirect"