Récupérer résultat d'une formule selon nom du fichier

Bonjour à tous,

Aujourd'hui, une question un peu complexe.

J'ai 3 fichiers qui se nomment respectivement OPI - Machine 1, OPI - Machine 2 et OPI - Machine 3 ainsi que 3 autres fichiers qui se nomment Planning - Machine 1, Planning - Machine 2 et Planning Machine - 3.

Les différents fichiers OPI récupèrent des données des plannings des mêmes machines. Pour me faciliter le travaille je souhaite variabiliser la récupération des données selon le nom des machines.

J'ai donc dans chacun des fichiers OPI - Machine deux formules excel qui sont les suivantes :

[quote]=STXT(CELLULE("filename";XDW1048529);TROUVE("[";CELLULE("filename";XDW1048529))+1;TROUVE("]";CELLULE("filename";XDW1048529))-TROUVE("[";CELLULE("filename";XDW1048529))-6)[/quote]

Me permet de récupérer le nom du fichier à savoir OPI - Machine 1 ou OPI - Machine 2 etc...

=DROITE(C2;NBCAR(C2)-CHERCHE("-";C2;1))

Me permet de récupérer le nom de la machine, Machine 1, Machine 2... Et permet de savoir à l'outil vers quel fichier Planning il doit récupérer les données.

Mon problème : La cellule (nommée Cellule_Machine, celle contenant la deuxième formule ci-dessus) qui me retourne Machine 1, Machine 2 ou Machine 3, etc... semble ne pas fonctionner avec le code que j'utilise sous VB et qui me permet d'ouvrir le fichier Planning et de récupérer les données. Pourtant le chemin est exactement le même que si j'écrivais en dur dans la cellule "Machine 1", j'en déduis donc que c'est la formule Excel =DROITE(C2;NBCAR(C2)-CHERCHE("-";C2;1)) qui interfère d'une manière ou d'une autre dans la récupération du nom du fichier.

Voici le code que j'utilise pour ouvrir le fichier planning.

Fichier_Planning = "Planning - " & Range("Cellule_Machine") & ".xlsm"
Chemin_Planning = Worksheets("Paramétrabilité").Cells(2, 1)
Application.Workbooks.Open Filename:=Chemin_Planning & "\" & Fichier_Planning, ReadOnly:=True

J'espère avoir été suffisamment clair et j'espère que vous saurez trouver une réponse à mon problème.

En vous remerciant.

Si vous avez la moindre question n'hésitez pas, j'imagine que ca doit être assez difficile de visualiser le problème sans fichiers joints...

Bonjour,

Si ton hypothèse est correcte et que c'est bien au niveau de la seconde formule que se pose le problème, il est possible qu'un caractère d'espacement superflu soit renvoyé par la formule?

Fais le test suivant:

  • active la cellule contenant cette formule
  • dans la barre de formule, sélectionne la formule et appuie sur la touche F9 ... qu'en est-il de cet espace?
  • quel que soit le résultat du test, appuie sur Esc (Echap) pour sortir, sans modifier ta formule
U. Milité a écrit :

Bonjour,

Si ton hypothèse est correcte et que c'est bien au niveau de la seconde formule que se pose le problème, il est possible qu'un caractère d'espacement superflu soit renvoyé par la formule?

Fais le test suivant:

  • active la cellule contenant cette formule
  • dans la barre de formule, sélectionne la formule et appuie sur la touche F9 ... qu'en est-il de cet espace?
  • quel que soit le résultat du test, appuie sur Esc (Echap) pour sortir, sans modifier ta formule

Bonjour U. Milité,

J'étais justement en train de répondre à mon propre message. Il semblerait que ta piste soit correcte ! Le problème provient effectivement de cet espace juste après le "-" et dont je pensais être arrivé à me séparé (la mise en forme de mes cellules m'a montré un léger décalage, ce qui m'a induit à penser que l'espace était responsable).

J'ai donc modifié la formule pour supprimer l'espace comme ceci

=DROITE(C2;NBCAR(C2)-TROUVE(" ";C2;TROUVE(" ";C2)+1))

, et cela fonctionne parfaitement ! Merci pour ta réponse et bonne journée !
Rechercher des sujets similaires à "recuperer resultat formule nom fichier"