OVH Cloud OVH Cloud

Ouvrir une fenêtre d'importation de données

2 réponses
Avatar
Rafoot
Bonjour ,

J'ai réalisé en VBA un code pour vérifier des données importées sur une
feuille "Import" à partir d'un fichier CSV, cependant le nom du fichier en
question peut-être variable, est-il possible par un code de faire ouvrir
automatiquement la fenêtre d'importation des données, de paramétrer par
défaut le type de fichiers à "Tous les fichiers" ou ceux au format CSV, puis
ensuite (je sais j'en demande beaucoup, mille excuses) poursuivre le
processus d'importation automatiquement.

Je remercie par avance de l'aide que vous pourrez m'apporter et vous
souhaite une bonne soirée

2 réponses

Avatar
michdenis
Bonjour Rafoot,


Dans le haut d'un module standard :

Déclaration de l'API
'----------------------------
Private Declare Function SetCurrentDirectoryA Lib _
"kernel32" (ByVal lpPathName As String) As Long
'----------------------------
Public Sub ChDirNet(szPath As String)
' Rob Bovey
Dim lReturn As Long
lReturn = SetCurrentDirectoryA(szPath)
If lReturn = 0 Then Err.Raise vbObjectError + 1, "Error setting path."
End Sub
'----------------------------

La procédure à exécuter :
'----------------------------
Sub EnregistrerSousSpecial()

Dim Repertoire As String
Dim A As String, S As String

'Définir répertoire à ouvrir par défaut
Repertoire = "d:Excel"

A = Dir(Repertoire, vbDirectory)
If A = "" Then
MsgBox "Ce répertoire " & Repertoire & _
" n'existe pas."
Exit Sub
End If
ChDirNet Repertoire
S = Application.GetOpenFilename(fileFilter:="Tous les fichiers (*.*), *.*", _
Title:="Ficher à importer", Buttontext:="Importer", MultiSelect:úlse)

If TypeName(S) = "Boolean" Then
MsgBox "Vous avez décidé d'annuler la sélection" _
, vbInformation + vbOKOnly, "Attention"
End If

'S = chemin + fichier retenu par l'usager
'ici le reste de ta macro

End Sub
'--------------------------------------


Salutations!


"Rafoot" a écrit dans le message de news: eamRPle%
Bonjour ,

J'ai réalisé en VBA un code pour vérifier des données importées sur une
feuille "Import" à partir d'un fichier CSV, cependant le nom du fichier en
question peut-être variable, est-il possible par un code de faire ouvrir
automatiquement la fenêtre d'importation des données, de paramétrer par
défaut le type de fichiers à "Tous les fichiers" ou ceux au format CSV, puis
ensuite (je sais j'en demande beaucoup, mille excuses) poursuivre le
processus d'importation automatiquement.

Je remercie par avance de l'aide que vous pourrez m'apporter et vous
souhaite une bonne soirée
Avatar
Rafoot
Bonjour michdenis

Merci pour cette réponse rapide, le code fonctionne comme sur des roulettes,
cela va m'être vraiment utile

Bonne journée


Bonjour Rafoot,


Dans le haut d'un module standard :

Déclaration de l'API
'----------------------------
Private Declare Function SetCurrentDirectoryA Lib _
"kernel32" (ByVal lpPathName As String) As Long
'----------------------------
Public Sub ChDirNet(szPath As String)
' Rob Bovey
Dim lReturn As Long
lReturn = SetCurrentDirectoryA(szPath)
If lReturn = 0 Then Err.Raise vbObjectError + 1, "Error setting path."
End Sub
'----------------------------

La procédure à exécuter :
'----------------------------
Sub EnregistrerSousSpecial()

Dim Repertoire As String
Dim A As String, S As String

'Définir répertoire à ouvrir par défaut
Repertoire = "d:Excel"

A = Dir(Repertoire, vbDirectory)
If A = "" Then
MsgBox "Ce répertoire " & Repertoire & _
" n'existe pas."
Exit Sub
End If
ChDirNet Repertoire
S = Application.GetOpenFilename(fileFilter:="Tous les fichiers (*.*), *.*", _
Title:="Ficher à importer", Buttontext:="Importer", MultiSelect:úlse)

If TypeName(S) = "Boolean" Then
MsgBox "Vous avez décidé d'annuler la sélection" _
, vbInformation + vbOKOnly, "Attention"
End If

'S = chemin + fichier retenu par l'usager
'ici le reste de ta macro

End Sub
'--------------------------------------


Salutations!


"Rafoot" a écrit dans le message de news: eamRPle%
Bonjour ,

J'ai réalisé en VBA un code pour vérifier des données importées sur une
feuille "Import" à partir d'un fichier CSV, cependant le nom du fichier en
question peut-être variable, est-il possible par un code de faire ouvrir
automatiquement la fenêtre d'importation des données, de paramétrer par
défaut le type de fichiers à "Tous les fichiers" ou ceux au format CSV, puis
ensuite (je sais j'en demande beaucoup, mille excuses) poursuivre le
processus d'importation automatiquement.

Je remercie par avance de l'aide que vous pourrez m'apporter et vous
souhaite une bonne soirée