Impoter des données d'un fichier csv dans des variables.

Résolu
fitzjames Messages postés 55 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 27 février 2009 - 17 févr. 2009 à 11:41
fitzjames Messages postés 55 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 27 février 2009 - 17 févr. 2009 à 17:24
Bonjour,

Je souhaiterai développer une macro qui récupère des données d'un fichier csv et qui les rapatries dans des variables qui sont  le pays, le navgateur et le réseau => Type Variant

J'ai touver le code suivant :

Sub CSV()
'
' CSV Macro

Dim Fichier As Variant


    ChDir "C:\Tests\Jeux"
    Fichier = Application.GetOpenFilename("Fichier CSV (*.csv), *.csv")
    If Fichier <> False Then
        LireCSV Fichier
    End If
End Sub
Le probleme ici est que je suis obligé de sélectionner le Fichier avec ma souris, comment puis je faire pour qu'il le sélectionne automatiquement ?
'===============================================================
' Lecture du fichier
'===============================================================
Private Sub LireCSV(ByVal NomFichier As String)


Dim Chaine As String
Dim Ar() As String
Dim i As Long
Dim iRow As Long, iCol As Long
Dim NumFichier As Integer
Dim Separateur As String * 1
 
    Separateur = ";"
    Cells.Clear
    Application.ScreenUpdating = False
    NumFichier = FreeFile
 
    iRow = 0
 
    Open NomFichier For Input As #NumFichier
    Do While Not EOF(NumFichier)
        iCol = 1
        iRow = iRow + 1
        Line Input #NumFichier, Chaine
        Ar = Split(Chaine, Separateur)
        For i = LBound(Ar) To UBound(Ar)
            Cells(iRow, iCol) = Ar(i)
            iCol = iCol + 1
        Next i
    Loop
    Close #NumFichier
    Application.ScreenUpdating = True
 
End Sub



Le probleme ici est qu'il copie dans des cellules, comment puis je faire pour mettre mes valeurs dans les variables ?





Merci d'avance pour l'aide que vous m'apporterez ?

[?] Estelle[8D]

3 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
17 févr. 2009 à 12:42
Salut
C'est pas du VB.Net ça ! (la catégorie de la question n'est là pour faire joli)
Dis nous dans quoi tu programmes, d'abord.

"il copie dans des cellules" : Oui, grace à l'instrcution "Cells"
"mettre mes valeurs dans les variables" : Bah, mets tes variables à la place, suffit de tester quelle colonne il est en train de traiter et de stocker la bonne valeur dans la bonne variable, genre :
   Select Case i
      Case 0 : maVariable = Ar(i)
      Case 1 : monAutreVariable = Ar(i)
      Case 2 : EncoreUneVariable = Ar(i)
      Case 3 : LaDernièreVariable = Ar(i)
   End Select
A toi de savoir dans quel ordre sont les colonnes lues et de gérer tes variables

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
fitzjames Messages postés 55 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 27 février 2009 1
17 févr. 2009 à 17:19
Non c'est du VBA.
je n'est aps trouvé le thème.

[?] Estelle[8D]
0
fitzjames Messages postés 55 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 27 février 2009 1
17 févr. 2009 à 17:24
excuser moi

[?] Estelle[8D]
0
Rejoignez-nous