Ouvrir et traiter un ficher .csv sous excel en VBA [Résolu]

Messages postés
33
Date d'inscription
lundi 10 décembre 2007
Dernière intervention
26 mai 2008
- 6 mai 2008 à 09:58 - Dernière réponse :
Messages postés
33
Date d'inscription
lundi 10 décembre 2007
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
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
33
Date d'inscription
lundi 10 décembre 2007
Dernière intervention
26 mai 2008
- 6 mai 2008 à 15:41
3
Merci
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

Merci kyoleroi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de kyoleroi
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
- 6 mai 2008 à 10:37
0
Merci
google m'a soufflé la réponse...

WorkBooks Open CSV

http://drq.developpez.com/vb/tutoriels/Excel/Chapitre2/
Commenter la réponse de Renfield
Messages postés
33
Date d'inscription
lundi 10 décembre 2007
Dernière intervention
26 mai 2008
- 6 mai 2008 à 10:49
0
Merci
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
Commenter la réponse de kyoleroi
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
- 6 mai 2008 à 10:59
0
Merci
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
Commenter la réponse de Renfield
Messages postés
33
Date d'inscription
lundi 10 décembre 2007
Dernière intervention
26 mai 2008
- 6 mai 2008 à 11:09
0
Merci
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.
Commenter la réponse de kyoleroi

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.