2013-06-10 20:29:02 +0000 2013-06-10 20:29:02 +0000
14
14

Comment insérer le nom du fichier actuel dans Excel ?

J'essaie de visualiser le nom du fichier sur lequel je travaille dans la feuille de calcul Excel qui m'intéresse en utilisant une formule. Par exemple, si le fichier s'appelle workbook1.xlsx, je voudrais que la cellule A1 affiche “workbook1.xlsx”

La formule que donne le site d'aide de Microsoft ne fonctionne pas http://office.microsoft. com/en-us/excel-help/insert-the-current-excel-file-name-path-or-worksheet-in-a-cell-HA010103010. aspx#BMinsert3

=MID(CELL(“filename”),SEARCH(“[”,CELL(“filename”))+1, SEARCH(“]”,CELL(“filename”))-SEARCH(“[”,CELL(“filename”))-1)

Réponses (6)

14
14
14
2013-06-10 20:42:32 +0000

Cela fonctionne ici, je viens de le tester sur Excel 2007 (XP) et Excel 2013 (Windows 8).

Essayez d'abord =CELL("filename") seul pour vous aider à résoudre les problèmes.

  • Assurez-vous que vous avez bien enregistré votre classeur sur le disque. Il n'affichera pas “Book1” si vous mettez la formule dans un nouveau classeur non sauvegardé.

  • Utilisez-vous des paramètres régionaux non anglais sur votre ordinateur ? Certaines langues nécessitent un ajustement des noms de fonctions et de la syntaxe des formules (en français par exemple, les virgules doivent être remplacées par des points-virgules).

  • Êtes-vous sur votre ordinateur personnel ou sur un ordinateur de bureau ? S'il s'agit d'un ordinateur de travail, il pourrait y avoir des limitations de droits d'utilisation qui posent problème.

  • Lorsque vous dites “ça ne marche pas”, pouvez-vous être plus précis ? Accepte-t-il la formule telle qu'elle est tapée ? La cellule est-elle vide et affiche-t-elle “#VALUE !”, etc. Que se passe-t-il lorsque vous utilisez seulement =CELL("filename") ?

9
9
9
2013-06-10 23:35:14 +0000

Notez que =CELL("filename") vous donne le chemin vers le dernier classeur/feuille de travail modifié donc si vous avez 2 classeurs ouverts, abc et xyz et que votre formule est en abc, si vous avez modifié une valeur en xyz pour la dernière fois, la formule en abc en tiendra compte et donnera xyz.xlsx

Pour cette raison, il est généralement préférable d'inclure une référence de cellule (toute référence de cellule), e. g.

=CELL (“nom de fichier”, A1 )

L'utilisation de cette version signifie que vous n'obtiendrez jamais que le nom du classeur dans lequel réside la formule.

Vous pouvez utiliser cette version légèrement plus courte

=REPLACE(LEFT(CELL("filename",A1),FIND("]",CELL("filename",A1))-1),1,FIND("[",CELL("filename",A1)),"")

2
2
2
2017-06-29 16:48:47 +0000

J'ai trouvé que c'était la formule la plus “simple” pour retourner le nom de fichier uniquement :

=REPLACE(LEFT(CELL("filename",A1),FIND("]",CELL("filename",A1))-1),1,FIND("[",CELL("filename",A1)),"")

or - created in VBA:

Formula = "=REPLACE(LEFT(CELL(""filename"",A1),FIND(""]"",CELL(""filename"",A1))-1),1,FIND(""["",CELL(""filename"",A1)),"""")"

Pour retourner le chemin complet, cela fera l'affaire :

=SUBSTITUTE(LEFT(CELL("filename",A1),FIND("]",CELL("filename",A1))-1),"[","")

or - created in VBA:

Formula = "=SUBSTITUTE(LEFT(CELL(""filename"",A1),FIND(""]"",CELL(""filename"",A1))-1),""["","""")"
1
1
1
2015-08-28 14:34:41 +0000

Si vous utilisez excel en néerlandais, vous devez utiliser les noms de fonction néerlandais et utiliser des points-virgules au lieu de virgules :

=VERVANGEN(LINKS(CEL("filename");VIND.SPEC("]";CEL("filename"))-1);1;VIND.SPEC("[";CEL("filename"));"").

1
1
1
2015-01-09 16:11:13 +0000

J'ai eu le même problème (la formule collée n'a pas fonctionné) ! Une fois que j'ai remplacé le , par ; dans la formule, cela a parfaitement fonctionné.

=MID(CELL(“filename”);SEARCH(“[”;CELL(“filename”))+1 ; SEARCH(“]”;CELL(“filename”))-SEARCH(“[”;CELL(“filename”))-1)

1
1
1
2015-01-15 10:41:26 +0000

Voici une solution plus simple :

Dans votre fichier Excel, appuyez sur Alt+F11, ce qui ouvre Microsoft Visual Basics for Applications (VBA). Dans VBA, sélectionnez Insert > Module et collez le code suivant

Public Function GetMyProp(prop As String) As String
    GetMyProp = ThisWorkbook.BuiltinDocumentProperties(prop)
End Function

Dans votre fichier Excel, tapez la formule : =GetMyProp("Title"). Cela fera apparaître le titre de votre document dans la cellule choisie.