Help VBA ! "GetOpenFilename" importer des données d'un autre classeur

  • Initiateur de la discussion Initiateur de la discussion calimero75
  • 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 !

C

calimero75

Guest
Bonjour,


Totalement débutant, je n'arrive pas à utiliser correctement la fonction GetOpenFilename.

J'aimerai à l'aide d'une macro, importer certaine données depuis un autre classeur.
ceci est possible de la maniére suivante :
set classeurSource = Application.workbooks.Open("C:\...\monfichier")
Mais j'aimerai donner la possibilité de choisir le fichier.
Seulement voila:Set classeurSource = application.workbooks.GetOpenFilename() 😡
l'erreur : propriété ou méthode non gérée par cet objet
et en faisant Set classeurSource = application.workbooks.GetOpenFilename()
j'ai une "incompatibilité de type" 😱

Comment utiliser cette fonction ? quelqu'un peut'il m'aider ? 😀 Un grand merci !

PS : pour plus de précisions mon code est ci dessous
Regarde la pièce jointe code.zip
 

Pièces jointes

Dernière modification par un modérateur:
Re : Help VBA ! "GetOpenFilename" importer des données d'un autre classeur

Bonsoir,
A la rigueur
Code:
Set classeurSource = Workbooks.Open(Application.GetOpenFilename("Fichier Excel,*.xls"))
Mais ça risque de bugger si tu annules, donc
Code:
pFichier = Application.GetOpenFilename("Fichier Excel,*.xls")
If pFichier = False Then Exit Sub  'ou message si tu préfères
Set classeurSource = Workbooks.Open(pFichier)
A+
kjin
 
Re : Help VBA ! "GetOpenFilename" importer des données d'un autre classeur

La fonction GetOpenFilename retourne un "string"

Ce string est ta chaine de caractère a appelé pour l'ouverture du fichier


Code:
Dim classeurSource As Workbook
Dim nomFichier As String

nomFichier = Application.GetOpenFilename("Fichier Excel (*.xls), *.xls")

If Len(Replace(nomFichier, ".xls", "")) = Len(nomFichier) Then
    MsgBox "Format fichier invalide"
Else
    Set classeurSource = Application.Workbooks.Open(nomFichier)
End If
 
- 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

P
Réponses
6
Affichages
2 K
Pimprenelle9
P
S
Réponses
13
Affichages
2 K
sanae_J
S
L
Réponses
10
Affichages
2 K
M
Réponses
3
Affichages
2 K
M
B
Réponses
2
Affichages
8 K
Bourbonkid59
B
C
Réponses
1
Affichages
4 K
Conrad13
C
D
Réponses
2
Affichages
791
D
C
Réponses
13
Affichages
2 K
Cra49
C
L
Réponses
5
Affichages
2 K
lumiexcel
L
Retour