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 !
Après avoir eu un moment de joie quelle n'a pas été ma surpise de voir que mon fichier n'était correctement ouvert que sur les premières cellules et vide ensuite.
Avant de m'arracher tous les cheveux je joint mon fichier csv avec des chiffres bidons pour vous montrer mon exemple.
Stéphane si tu mets l'enregistreur de macro en route et que tu ouvres ton csv 'manuellement' puis que tu arretes ton enregistreur tu auras la ligne complète en vba pour ta macro
Petite remarque pour l'utilisation correcte de ce Forum, le Nom d'Utilisateur/Auteur est fait pour indiquer ton Pseudo ou ton Prénom, mais pas 'voila le fichier zippé', ou 'ET BIEN NON !'... Ce n'est pas du tout pratique pour avoir un suivi des échanges avec telle ou telle personne...
Bon sinon, j'ai regardé ton CSV. En fait, ici sur une version américaine de Windows/Office, il y a un souci avec ces lignes :
C'est du à cette virgule :
9999;;MR X;2003;;PPP;GGG;;;93001;;;7,83E+13;
Qui me fait une rupture dans l'import et qui m'envoit un message 'Do you want te replace the contents of destination cells ?'...
A l'époque nous avions discuté de ceci avec Ti :
Re: Ouvrir un fichier csv en VBA
Auteur: Ti (---.w80-12.abo.wanadoo.fr)
Date: 26-01-04 06:30
il n'y a pas de difficulté à ouvrir un csv, mais il y en a par contre à récupérer les données de ceux-ci en fonction de la machine sur laquelle cela est fait. D'une machine à l'autre (je l'ai expérimenté chez moi, entre 2 de mes ordinateurs) les paramètres ne sont pas forcément les mêmes et sur une machine, les '.' seront considérés comme séparateurs décimaux, alors que sur l'autre ce seront les ',' alors que, dans mes paramètres systèmes, il n'y a bien sûr pas de différences. Idem pour les séparateurs de champs qui peuvent être des virgules ou des points-virgules.
En bref, en ce qui me concerne (n'est-ce pas Celeda), j'évite autant que possible les csv pour des programmes prévus pour tourner sur des configurations différentes.
Phénomène que j'ai confirmé et que je confirme encore aujourd'hui...
Pour l'instant je ne vois qu'une lecture en Statement Open de fichier Texte 'TXT3 et non plus une lecture par les automatismes obtenus par une macro enregistrée...
Voici un exemple de Code que je viens de tester sur ton CSV et qui me retourne proprement 118 champs...
Code:
Option Explicit
Sub ImportTXT()
Dim TheRecord As String
Dim TheContainer As Variant
Dim ThePath As String
Dim i As Integer, X As Integer
i = 1
ThePath = 'C:\\Documents and Settings\\Thierry\\My Documents\\Export.csv' ''A ADAPTER !'
Open ThePath For Input As #1
Do While Not EOF(1)
Line Input #1, TheRecord
TheContainer = Split(TheRecord, Chr(59))
With ActiveSheet
For X = 0 To UBound(TheContainer)
On Error Resume Next
.Cells(i, X + 1) = TheContainer(X)
Next X
End With
i = i + 1
Loop
Close #1
End Sub
NB : Excel 97 ne supporte pas la Fonction Split utilisée ici
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.