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

calimero75

XLDnaute Nouveau
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() :mad:
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" :eek:

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

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

Pièces jointes

  • code.zip
    1.1 KB · Affichages: 117
  • code.zip
    1.1 KB · Affichages: 115
Dernière édition:

kjin

XLDnaute Barbatruc
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
 

Habitude

XLDnaute Accro
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
 

Discussions similaires

Statistiques des forums

Discussions
312 826
Messages
2 092 527
Membres
105 443
dernier inscrit
Raoul