XL 2016 Importer fichier CSV et traitement données

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 !

Hanjen

XLDnaute Nouveau
Bonsoir à tous!

J'ai besoin d'import un fichier cvs dans un ficher à l'aide d'un bouton dans la feuille nommée "data". J'ai récupérer une macro mais elle ne fonctionne pas tout à fait comme je le souhaite. Elle me colle tout dans la cellule A1. Je souhaite exactement comme le fichier CSV. C'est la première étape 🙂

Par la suite je souhaite alimenter les cellules de la feuille nommée "saisie des mesures" avec les infos qui sont dans la feuille "data". Par exemple c8 dans b28. C9 dans B42

Pouvez-vous m'apporter une aide?

Merci
 

Pièces jointes

Bonsoir à tous!

J'ai besoin d'import un fichier cvs dans un ficher à l'aide d'un bouton dans la feuille nommée "data". J'ai récupérer une macro mais elle ne fonctionne pas tout à fait comme je le souhaite. Elle me colle tout dans la cellule A1. Je souhaite exactement comme le fichier CSV. C'est la première étape 🙂

Par la suite je souhaite alimenter les cellules de la feuille nommée "saisie des mesures" avec les infos qui sont dans la feuille "data". Par exemple c8 dans b28. C9 dans B42

Pouvez-vous m'apporter une aide?

Merci
 
Bonsoir Hanjen,

Pour l'importation du fichier CSV essayez ce code :
VB:
Sub ImportCVS()
Dim NomFichier As Variant, a(), x%, texte$, n&
ChDir ThisWorkbook.Path
NomFichier = Application.GetOpenFilename("Fichiers .csv (*.csv), *.csv")
If NomFichier = False Then Exit Sub
ReDim a(1 To Rows.Count, 1 To 1)
x = FreeFile
Open NomFichier For Input As #x
While Not EOF(x) 'EndOfFile : fin du fichier
    Line Input #x, texte 'récupère la ligne
    n = n + 1
    a(n, 1) = Replace(texte, """", "") 'supprime les guillemets
Wend
Close #x
'---restitution---
Application.ScreenUpdating = False
Cells.ClearContents 'RAZ
With [A1].Resize(n)
    .Value = a
    .TextToColumns .Cells(1), xlDelimited, Semicolon:=True 'commande Convertir
End With
Cells.Replace ".", ".", xlPart 'convertit les textes en nombres
End Sub
Bonne nuit.
 
Dernière édition:
Bonsoir Hanjen,

Pour l'importation du fichier CSV essayez ce code :
VB:
Sub ImportCVS()
Dim NomFichier As Variant, a(), x%, texte$, n&
ChDir ThisWorkbook.Path
NomFichier = Application.GetOpenFilename("Fichiers .csv (*.csv), *.csv")
If NomFichier = False Then Exit Sub
ReDim a(1 To Rows.Count, 1 To 1)
x = FreeFile
Open NomFichier For Input As #x
While Not EOF(x) 'EndOfFile : fin du fichier
    Line Input #x, texte 'récupère la ligne
    n = n + 1
    a(n, 1) = Replace(texte, """", "") 'supprime les guillemets
Wend
Close #x
'---restitution---
Application.ScreenUpdating = False
Cells.ClearContents 'RAZ
With [A1].Resize(n)
    .Value = a
    .TextToColumns .Cells(1), xlDelimited, Semicolon:=True 'commande Convertir
End With
Cells.Replace ".", ".", xlPart 'convertit les textes en nombres
End Sub
Bonne nuit.
Merci job75, cela fonctionne parfaitement!
Je vais essayé de comprendre ligne par ligne 🙂
 
- 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
40
Affichages
2 K
D
  • Question Question
2
Réponses
28
Affichages
2 K
Deleted member 441486
D
Réponses
9
Affichages
376
Retour