Import Csv sous Excel 97 - VB/VBA/VBS - Programmation
Marsh Posté le 04-09-2007 à 10:31:51
Je sais pas toi, mais quand j'ouvre un fichier csv par excel, il reconbnait le format et charge les infos dans les cases tout seul hein. Ou alors le séparateur de colonnes est pas le bon.
Marsh Posté le 04-09-2007 à 11:35:37
Le but n'est pas d'ouvrir les fichiers sous excel ( on fait ouvrir > csv et il fait les colonnes toutes seules ) mais de l'importer dans un .xls déjà existant avec des feuilles déja existantes.
Si je fais ouvrir le .csv, il m'ouvre dans un nouveau classeur, moi je veux l'importer dans un classeur déjà existant.
Marsh Posté le 04-09-2007 à 14:24:44
N'ayant pas 97 sera peut-être à adapter
Placer dans un Module
Option Explicit |
Marsh Posté le 04-09-2007 à 15:04:57
j'avais trouvé un script dans ce genre qui me parait pas mal mais il me fait une erreur au niveau :
Ar = Split97(Chaine, separateur)
Erreur de compilation : impossible d'affecter à un tableau
Marsh Posté le 05-09-2007 à 08:49:28
Peut-être que tes fichiers Csv nécessiteraient un Nettoyage du style
http://forum.hardware.fr/hfr/Progr [...] 7546_1.htm , encore à adapter puisque certaines instructions n'existent pas dans XL97
Marsh Posté le 05-09-2007 à 09:19:56
C'est le « Dim Ar() As String » qui pose problème
En Excel97 il faut écrire simplement « Dim Ar » (déclaration de type variant)
Voir plus bas.
Marsh Posté le 05-09-2007 à 09:31:15
Saint Cloud Tegu, et donc également le Tableau() du Split97, n'ayant plus 97 je n'ai pas pu le vérifier.@+
Marsh Posté le 05-09-2007 à 20:56:26
J'ai lu trop vite et confondu avec une autre particularité d'Excel97, désolé.
Le problème est la déclaration de la fonction Split97()
Elle doit renvoyer un tableau de String et sa déclaration devrait être
Private Function Split97(ByVal s As String, ByVal sSep As String) As String() |
« Ar », ainsi que « Tableau » sont bien déclarés a priori (pas de Excel 97 sous la main).
Navré de la méprise.
Marsh Posté le 05-09-2007 à 22:40:43
Solution testée sous XL97 ( sorti des décombres ) et XL2002
Placer dans un Module
Option Explicit |
Marsh Posté le 04-09-2007 à 10:24:08
Bonjour à tous
Je débute en VB et je cherche à faire un truc tout simple :
Je clique sur un bouton ( ça ça va encore ) qui me fait un l'import d'un fichier csv dans une feuille prédéfinie du classeur, le tout bien évidemment en remplaçant les ; par des colonnes distinctes.
Mon souci est que j'ai du mal à trouver un code pour faire ça. J'en ai trouvé un ou deux mais à chaque fois il y a une instruction qui pose pb ( genre la fonction split qui n'est pas sous excel 97 par exemple )
Pour résumer : import d'un fichier csv sur une feuille précise d'un classeur excel 97
Merci d'avance pour votre aide.