Récupérer données fichier CSV dans Excel

  • Initiateur de la discussion Initiateur de la discussion Dolu16
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Dolu16

XLDnaute Nouveau
Bonjour à toutes et tous,

je voudrais savoir si il existe une fonction dans Excel qui me permet de lire une ligne d'un fichier CSV pour l'intégrer "automatiquement" dans des cellules de ma feuille excel par programmation (en dynamique).

Je m'explique :
mon fichier csv comprend une centaine de lignes formaté de la manière suivante :
- chaque ligne se termine par le caractère ";"
- chaque élément de la ligne se termine par le caractère ","

Exemple d'un fichier avec 4 lignes :
montexte1,montexte2,montexte3;
montexte4,montexte5,montexte6;
montexte7,montexte8,montexte9;
montexte10,montexte11,montexte12;

La ligne 1 doit alimenter la colonne C de ma feuille excel
- avec montexte1 à insérer dans la case C1,
- avec montexte2 à insérer dans la case C2,
- avec montexte3 à insérer dans la case C3,

La ligne 2 doit alimenter la colonne D de ma feuille excel
- avec montexte4 à insérer dans la case D1,
- avec montexte5 à insérer dans la case D2,
- avec montexte6 à insérer dans la case D3,

La ligne 3 doit alimenter la colonne E de ma feuille excel
- avec montexte7 à insérer dans la case E1,
- avec montexte8 à insérer dans la case E2,
- avec montexte9 à insérer dans la case E3,

et ainsi de suite ...

j'imaginais tout développer mais un ami m'a indiqué qu'il existait peut-être des fonctions me permettant directement de lire les lignes de mon fichier csv pour les intégrer ensuite simplement dans ma feuille.

Merci par avance pour celles ou ceux qui auront la gentillesse de me répondre.
 
Re : Récupérer données fichier CSV dans Excel

Bonjour Dolu16,

Je ne connais pas d'outils existant, je ne vois q'une macro en l'occurrence.
Tu connais VBA ? un peu, beaucoup, pas du tout ? 🙂
D'autre part le séparateur de champ "," peut poser des problèmes si ton système est configuré en Français.
 
Re : Récupérer données fichier CSV dans Excel

Bonjour Dolu16,

Je ne connais pas d'outils existant, je ne vois q'une macro en l'occurrence.
Tu connais VBA ? un peu, beaucoup, pas du tout ? 🙂
D'autre part le séparateur de champ "," peut poser des problèmes si ton système est configuré en Français.

Bonjour TotoTiti

c'est avec une macro que je voudrais faire cela.
je connais VBA, je ne suis pas un expert et je cherche une fonction ou des fonctions VBA qui pourraient m'aider afin de ne pas partir dans un développement où je ferais des boucles qui lisent caractère par caractère.

mon séparateur "," peut être changé si besoin.
Merci pour ton aide
 
Re : Récupérer données fichier CSV dans Excel

Quelque petites questions :
en plus du ";" de fin de ligne, il y a aussi un retour chariot ?
Si les "," de ton fichier peuvent être remplacés par un ";", ne te suffirait-il pas d'ouvrir ton fichier csv et d'en faire une copie transposée en C1 ?
 
Re : Récupérer données fichier CSV dans Excel

il y a aussi un retour chariot après mon ";" pour chaque ligne
la copie transposée me parait pas jouable car j'aurais juqu'à 125 lignes dans mon fichier et le nbre d'éléments dans une ligne varie suivant le type de fichier que j'ai à traiter.
une macro automatique serait idéale à la condition que j'ai une fonction excel qui soit capable de me lire "simplement" les éléments par ligne, par exemple dans un tableau que j'enverrais ensuite dans les bonnes cases excel.
 
Re : Récupérer données fichier CSV dans Excel

Le fait que le nombre de lignes ou colonnes soit variables n'est à priori pas un obstacle pour la copie transposée, ou alors je n'ai pas tout compris.
Ca ne pose pas un problème de remplacer les "," par des ";" ?
Peux-tu poster un exemple de fichier CSV (à moins qu'ils contiennent des données confidentielles)
 
Re : Récupérer données fichier CSV dans Excel

je ne comprends pas en fait ce que c'est une copie transposée. ma crainte est que cette copie soit manuelle au lieu d'être automatique.

si je mets un ";" en séparateur pour mes éléments de ligne, il me faut alors définir un autre séparateur pour ma fin de ligne.
 
Re : Récupérer données fichier CSV dans Excel

mais ton séparateur de fin de ligne est déjà le retour chariot, pas besoin d'en ajouter.
une copie transposée, c'est :
Copier une plage dans Excel
aller à un endroit vide
Menu Edition - collage spécial
Cocher transposé
OK

Fait un test sur un petit tableau, tu me diras si ça peux t'aider
 
Re : Récupérer données fichier CSV dans Excel

En fait, j'ai développé ma macro en m'inspirant des infos oh combien utiles données par kiki 🙂.
Merci également aux autres personnes m'ayant apporté des infos très utiles 🙂.

Mon programme marche 🙂à partir d'un fichier texte que je fais à la main.

Par contre, le fichier que je suis censé recevoir, c'est celui que mon collègue a développé pour l'extraction de données phpBB vers un fichier csv en suivant à la lettre mes spécifications. Le pb, c'est que ce fichier est 100% correct si je l'ouvre avec excel ou notepad++. Si je l'ouvre avec le bloc notes (notepad), j'ai des caractères de type carré et ma macro du coup ne marche pas, car elle interprète mal les sauts de ligne 🙁

en PJ une hard copy des 2 exemples.

Comment faire pour que ma macro fonctionne et que j'interprète correctement les sauts de ligne et bypasse ces caractères de type carrés ?

merci par avance pour votre aide 🙂

mon code :
Open NomFichier For Input As #NumFichier
Line Input #NumFichier, Chaine
Feuil1.Cells(2, 1) = Chaine

iCol = 1
iRow = 3
Do While Not EOF(NumFichier)
Line Input #NumFichier, Chaine
If iCol = 3 Then
iCol = iCol + 2
End If
Chaine = Replace(Chaine, ";", "")
Ar = Split(Chaine, Separateur)
For i = LBound(Ar) To UBound(Ar)
Feuil1.Cells(iRow, iCol) = Ar(i)
iRow = iRow + 1
Next i
iCol = iCol + 1
iRow = 3
Loop
 

Pièces jointes

  • depuisexcel.jpg
    depuisexcel.jpg
    77.1 KB · Affichages: 287
  • depuisnotepad.jpg
    depuisnotepad.jpg
    38.7 KB · Affichages: 230
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
19
Affichages
619
Réponses
8
Affichages
690
  • Question Question
Microsoft 365 CSV en EXCEL
Réponses
1
Affichages
160
Réponses
5
Affichages
275
Réponses
5
Affichages
569
Réponses
11
Affichages
298
Retour