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
Rejoignez-nous