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

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

5 réponses

Répondre au sujet
kyoleroi 33 Messages postés lundi 10 décembre 2007Date d'inscription 26 mai 2008 Dernière intervention - 6 mai 2008 à 15:41
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de kyoleroi
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 6 mai 2008 à 10:37
0
Utile
google m'a soufflé la réponse...

WorkBooks Open CSV

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