Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment recuperer le nom du classeur a partir du nom du fichier?

4 réponses
Avatar
victor
Bonjour,

J'utilise la commande suivante pour ouvrir un classeur:

NomFichier =3D Application.GetOpenFilename

Comment faire pour r=E9cup=E9rer que le nom du classeur?

Merci d'avance

4 réponses

Avatar
Modeste
;-)))
Bonne fête Victor (avec un peu de retard ;-)))

methode un peu rudimentaire (on peut faire plus concis):
Sub zaza()
nomfichier = Application.GetOpenFilename
For i = 1 To Len(nomfichier)
If Mid(nomfichier, i, 1) = "" Then
nomclasseur = Mid(nomfichier, i + 1, Len(nomfichier))
End If
Next
MsgBox nomfichier & Chr(10) & nomclasseur
End Sub

@+

-----Message d'origine-----
Bonjour,

J'utilise la commande suivante pour ouvrir un classeur:

NomFichier = Application.GetOpenFilename

Comment faire pour récupérer que le nom du classeur?

Merci d'avance

.



Avatar
Laurent M
Modeste wrote:

methode un peu rudimentaire (on peut faire plus concis):


Si je puis me permettre, puisque tu tends la perche, voici une version
plus optimale, puisqu'elle commence par la fin de la chaîne:

Function NomCourt(nomComplet As String) As String
Dim i As Integer
For i = Len(nomComplet) To 1 Step -1
If Mid(nomComplet, i, 1) = "" Then Exit For
Next
NomCourt = Mid(nomComplet, i + 1, 999)
End Function

Et dans le code principal:

...
nomcomplet = Application.GetOpenFilename
nomclasseur=Nomcourt(nomcomplet)
...

A+

Laurent M.

PS: il serait sage d'ajouter un test pour vérifier que l'usager n'a pas
annulé la boite de dialogue GetOpenFilename (du genre if nomcomplet<>""
then...)

Avatar
Ellimac
Bonjour,

f=Left(ActiveWorkBook.name,Len(ActiveWorkBook.name)-4)

Camille
-----Message d'origine-----
Bonjour,

J'utilise la commande suivante pour ouvrir un classeur:

NomFichier = Application.GetOpenFilename

Comment faire pour récupérer que le nom du classeur?

Merci d'avance

.



Avatar
Frédéric Sigonneau
Bonsoir,

Tu peux aussi utiliser la fonction Dir, pour extraire Nom+Extension à partir
d'un chemin complet :

Sub test()
NomFichier = Application.GetOpenFilename
If NomFichier <> False Then MsgBox Dir(NomFichier)
End Sub

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonjour,

J'utilise la commande suivante pour ouvrir un classeur:

NomFichier = Application.GetOpenFilename

Comment faire pour récupérer que le nom du classeur?

Merci d'avance