Importer des données - proposer le choix à l'utilisateur

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

nico0007

XLDnaute Junior
Bonjour à tous,

Je connais le code d'importation de fichier (importer des données) sur une feuille Excel mais j'aimerai pouvoir donner le choix à l'utilisateur du fichier qu'il veut importer.
En effet la syntaxe que je connais ne me permet que de mettre en dur l'adresse du fichier. Je voudrai que l'utilisateur choisisse via mon Userform un fichier à importer.

Merci de votre aide
 
Re : Importer des données - proposer le choix à l'utilisateur

Bonjour Nico

tu devrais peut être nous mettre ton fichier avec le code en pièce jointe, car là comme ca, si ce n'est te conseiller l'utilisation d'une "inputbox" ou de charger la boite de dialogue adéquate...

@+
 
Re : Importer des données - proposer le choix à l'utilisateur

Merci à toi,

voici en fait le code de l'import avec en dur l'adresse du fichier:
With Selection.QueryTable
.Connection = _
"TEXT;C:\Documents and Settings\titi\toto\Comparaison_DS\PN\ListingDS_2007_06_22_Beuvardes_Arras.txt"
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With


J'aimerai ne pas avoir à mettre l'adresse du fichier en dur mais le faire choisir par le user dans un Userform avec un OpenFile ou qqe chose comme ça...

Merci
 
Re : Importer des données - proposer le choix à l'utilisateur

Re

essaye peut être comme ceci :

Code:
Dim x As String
x = Application.GetOpenFilename("Text Files (*.txt), *.txt")
With Selection.QueryTable
.Connection = _
"TEXT;" & x & """
.TextFilePlatform = 850

a tester, vérifie le nombre de guillemets renvoyés.

bon après midi
@+
 
Re : Importer des données - proposer le choix à l'utilisateur

Merci Pierrot,

J'y suis presque...Presque parce qu'il semble y avoir une erreur là dedans:

Code:
Private Sub CommandButton1_Click()
Dim x As String
x = Application.GetOpenFilename("Text Files (*.txt), *.txt")
With Selection.QueryTable
.Connection = "TEXT;" & x & """"
.TextFilePlatform = 850
End With
End Sub

J'ai une erreur à l'éxécution sur la ligne:
Code:
With Selection.QueryTable
une erreur de type 1004.

Une idée?
 
Re : Importer des données - proposer le choix à l'utilisateur

essaie de voir sur cette page :
https://www.excel-downloads.com/threads/aide-pour-la-mise-en-oeuvre-de-getopenfilename.70921/

avec ce code

Sub Click()
Dim MonClasseur As Variant 'Variable qui récupère le résultat de getopenfilename type variant

MonClasseur = Application.GetOpenFilename("Text Files (*.txt), *.txt") ' ouverture de la boite de dialogue
If MonClasseur = False Then Exit Sub ' si clic sur annuler, renvoie false ( c'est pour ça que la variable n'est pas string, sinon bug)
Application.Workbooks.Open (MonClasseur) ' ouverture du fichier par exemple ou tout autre action à partir du chemin complet du fichier
End Sub
 
Re : Importer des données - proposer le choix à l'utilisateur

Merci Buzz pour ce lien et ce code.
Il fonctionne effeectivement cependant il ouvre le fichier dans un nouveau classeur, chose que je ne veux pas. J'aimerai que le fichier s'ouvre sur mon ActiveClasseur...

Est ce que cela est possible?

Merci
 
- 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

Discussions similaires

Réponses
6
Affichages
166
Réponses
40
Affichages
2 K
Retour