Ouvrir et traiter un ficher .csv sous excel en VBA

Résolu
kyoleroi
Messages postés
32
Date d'inscription
lundi 10 décembre 2007
Statut
Membre
Dernière intervention
26 mai 2008
- 6 mai 2008 à 09:58
kyoleroi
Messages postés
32
Date d'inscription
lundi 10 décembre 2007
Statut
Membre
Dernière intervention
26 mai 2008
- 6 mai 2008 à 15:41
Bonjour

Voila, j'aimerais ouvrir un fichier .csv avec une macro excel pour remplir les cases d'un tableau!

voici le code que j'utilise mais je ne sais pas pourquoi sa ne marche pas!!!

 Dim NomFicher(101) As String
    Dim CdoMessage As CDO.Message
    Dim FichiersChoisis As Variant
      
   ' ElseSub ouvrir_fichier()
FichiersChoisis = Application.GetOpenFilename("Fichier CSV (*.csv),*.csv")
If FichiersChoisis <> "" Then
    Workbooks.Open Filename:=FichiersChoisis
    Windows(FichiersChoisis).Activate
    Sheets(FichiersChoisis).Select
    NomFichier = Range("A1:AM10000").Value
    Windows("Fichier.xls").Activate
    Sheets("Releves").Range("B17:AN10000").Value = NomFichier
End If

Le bute est d'ouvrir le fichier de base '.csv' et ensuite de le parcourir pour remplir le fichier excel.

Cordialement

5 réponses

kyoleroi
Messages postés
32
Date d'inscription
lundi 10 décembre 2007
Statut
Membre
Dernière intervention
26 mai 2008

6 mai 2008 à 15:41
J'ai trouvé!!!!
Voici la solution:

Sub Auto_Open()
    Dim NomFicher(101) As String
    Dim CdoMessage As CDO.Message
    Dim FichiersChoisis As String
    Dim remplace As String
    remplace = ".txt"
    FichiersChoisis = ""
 
    FichiersChoisis = Application.GetOpenFilename("Fichier Text (*.txt),*.txt")
    
    If FichiersChoisis <> "" Then
        'Ouverture du fichier text
        Workbooks.OpenText Filename:= _
                            FichiersChoisis, _
                            Origin:=xlWindows, _
                            StartRow:=1, _
                            DataType:=xlDelimited, _
                            TextQualifier:= _
                            xlDoubleQuote, _
                            ConsecutiveDelimiter:=False, _
                            Tab:=False, _
                            Semicolon:=True, _
                            Comma:=False, _
                            Space:=False, _
                            Other:=False
              
       ' On enlève l'adresse complète du fichier et on garde son nom
        FichiersChoisis = Mid(FichiersChoisis, InStrRev(FichiersChoisis, "") + 1)
        'On active le classeur
        Windows(FichiersChoisis).Activate
       
        'On supprime le *.txt pour pouvoir sélectionne la feuille
        FichiersChoisis = Replace(FichiersChoisis, remplace, "")
        Sheets(FichiersChoisis).Select
        'On sélèctionne les parties du tableaux qui nous intéresse
        Nomfichier = Range("A1:AM10000").Value
       
        'On sélèctionne le dossier ou l'on veux déplacer notre ficher .txt
        Windows("NomduFichier.xls").Activate
        'On remplace
        Sheets("Releves").Range("B17:AN10000").Value = Nomfichier
    End If
End Sub
3
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
6 mai 2008 à 10:37
google m'a soufflé la réponse...

WorkBooks Open CSV

http://drq.developpez.com/vb/tutoriels/Excel/Chapitre2/
0
kyoleroi
Messages postés
32
Date d'inscription
lundi 10 décembre 2007
Statut
Membre
Dernière intervention
26 mai 2008

6 mai 2008 à 10:49
Merci c gentil Mais

J'avais déjà trouver cette source mais, le problème reste le même.

Je dois ouvrir un fichier .csv, je le parcours, ensuite je remplit mon tableau.

Et l'erreur se trouve encor et toujours au Windows(Fichier).activate
Je ne comprend plus!!!

Cordialement
0
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
6 mai 2008 à 10:59
tu parles de :
Windows("Fichier.xls").Activate
??

je ne pense pas que tu aies une fenetre se nommant ainsi....

au pire, tu peux mémoriser l'ancien ActiveWorkbook, et le réactiver en temps voulu
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kyoleroi
Messages postés
32
Date d'inscription
lundi 10 décembre 2007
Statut
Membre
Dernière intervention
26 mai 2008

6 mai 2008 à 11:09
Je travail sous VBA excel. Simplement j'ai programme qui fonctionne mais qui ne me permet par de choisir le nom du fichier que je veux traiter. Et en Plus je suis obliger d'ouvrir mon fichier.csv avant d'ouvri mon programme.
0