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

recupérer la racine d'un fichier

  • Initiateur de la discussion Initiateur de la discussion benjamin
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

benjamin

Guest
bonjour
je voudrais récuperer la racine d'un fichier que j'ouvre avec une boite de dialogue dans un uerform.
je vais essayer d'être plus clair,
je voudrais aller chercher une image avec une boite de dialogue (Monfichier = Application.GetOpenFilename('jpg (*.jpg), *.jpg')) ensuite je souhaiterais afficher cette image dans une frame dans l'userform, il me faut donc savoir ou est ce fichier pour pouvoir l'afficher, par la suite je souhaiterais pouvoir l'enregistrer dans un autre dossier avec un autre nom.
si qqun a une petite idée 🙂 cela me serais d'un grand secours
merci
 
Bonjour le Forum, Benjamin,

Je ne suis pas sûr d'avoir bien tout compris mais l'exemple si dessous devrait répondre à ta question.

Code:
Sub Fichier()
' Dans Outils > Référence cocher : Microsoft Scripting Runtime
Dim Chemin As String, Drive As String, Rep As String, Fichier As String
Dim FSO As New FileSystemObject


Chemin = 'c:\\Toto\\Tata\\dede.xls' ' Chemin complet
Drive = FSO.GetDriveName(Chemin) ' Recupère le lecteur
Rep = FSO.GetParentFolderName(Chemin) ' le repertoire
Fichier = FSO.GetFileName(Chemin) ' le nom de fichier ...

' Chr(13) sert à retourner à la ligne dans une msgbox
MsgBox 'Lecteur : ' & Drive & Chr(13) & _
        'Repertoire : ' & Rep & Chr(13) & _
        'Fichier : ' & Fichier, vbInformation + vbOKOnly, 'Infos ...'

Set FSO = Nothing ' pour liberer des ressources
    
End Sub

@+

Creepy
 
L'activeworkbook.path ne marchera pas car ce n'est pas un classeur excel, mais un fichier jpg

Je te propose une petite fonction pour le récupérer :

Function GetPath(FullAddress As String) As String
Dim fso
Set fso = CreateObject('Scripting.FileSystemObject')
GetPath = fso.getFolder(FullAddress)
Set fso = Nothing
End Function

et enfin, un exemple pour l'utiliser :
MsgBox GetPath('C:\\test\\monimage.jpg')
(en espérant ne pas avoir fait de fautes, je n'ai pas excel sur ce poste).

Je te conseille d'aller voir dans l'aide en tapant FileSystemObject (et non en tapant F1 sur le mot, ca le trouve pas... jamais compris pourquoi),
ca t'expliquera comment savoir si un fichier existe, un répertoire, copier des fichiers, créer des répertoires, en supprimer etc, des trucs comme ca.
@+
 
Bonjour Benjamin, creepy, papaye, Amydale

si tu utilises getopenfilename, tu récupères un nom de fichier avec son chemin, getopenfilename simule une boite d'ouverture qui n'ouvre pas les fichiers. tu auras donc dans monfichier le nom du fichier à ouvrir avec son chemin.
une simple instruction filecopy effectuera une copie de ton fichier ou tu veux
exemple
Code:
FileCopy monfichier, 'c:\\test.jpg'
copiera ton fichier sous le nom test.jpg à la racine c

Cordialement, A+
 
bonjour creepy, papaye, amydale, yeahou
merci a vous de vous interesser a mon problème mais je l'ai tjrs pas résolu 🙂
je joint un fichier pour que tout le monde comprenne
il y a 2 userform
j'ouvre le premier n cliquant sur un boutton et ensuite dans ce premier UF il y a un autre bouton pour ajouter une image ensuite ca marche pas trop, j'arrive deja ^pas a avoir un apercu de l'image dans une frame et c'est encore pire quand il faut renommer le fichier et l'enregistrer dans un dossier
voila j'espère que vous avez mieux compris [file name=testajtphoto.zip size=23972]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/testajtphoto.zip[/file]
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

S
Réponses
13
Affichages
2 K
sanae_J
S
M
Réponses
3
Affichages
1 K
M
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…