Pb convertir .xls en .dbf avec vba (code fournit)

emilekader Messages postés 6 Date d'inscription vendredi 3 décembre 2004 Statut Membre Dernière intervention 12 juillet 2005 - 12 juil. 2005 à 13:15
KIBLY Messages postés 1 Date d'inscription jeudi 3 mars 2005 Statut Membre Dernière intervention 6 juillet 2006 - 6 juil. 2006 à 09:51
salut, le code fournit ci dessous fonctionne en vba, j'ouvre un classeur excel puis le lance.
La macro traite tous les fichiers d'un dossier mais le pb est que le contenu des fichiers dbf créés n'est pas bon.
en effet tousles .dbf créés contiennent les valeurs du premier fichier excel de la liste.
Capito?
quelqu'un peut -il m'aider???



Dim temp As String
Dim fso, dossier, lstfichiers, f
Const chemin = "C:\testo\temp"
Set fso = CreateObject("Scripting.FileSystemObject")
Set dossier = fso.GetFolder(chemin)
Set lstfichiers = dossier.Files


For Each f In lstfichiers

Range("A1").Select
Selection.CurrentRegion.Select
Selection.Columns.AutoFit
Columns("C:C").Select
Selection.NumberFormat = "0.00"
Range("A1").Select
Selection.CurrentRegion.Select
temp = Left(f.Path, Len(f.Path) - 4) + ".dbf"
ActiveWorkbook.SaveAs Filename:=temp, FileFormat:=xlDBF4, _
CreateBackup:=False

Next f

MsgBox "traitement terminé"

6 réponses

cs_Yoyo2B Messages postés 125 Date d'inscription jeudi 27 février 2003 Statut Membre Dernière intervention 6 mars 2008
12 juil. 2005 à 14:10
à aucun moment tu n'ouvre un fichier excel différent ? si ? ta premiére instruction c range("A1").select mais il prend la cellule A1 ... du classeur en cours ... à chaque passge ...

happy coding ...
0
emilekader Messages postés 6 Date d'inscription vendredi 3 décembre 2004 Statut Membre Dernière intervention 12 juillet 2005
12 juil. 2005 à 14:45
non tu as raison masi je ne sais pas comment faire pour ouvrir les fichiers, je n'arrive pas à utiliser le getopenfilename...
0
emilekader Messages postés 6 Date d'inscription vendredi 3 décembre 2004 Statut Membre Dernière intervention 12 juillet 2005
12 juil. 2005 à 14:48
ce code sert à selectionner un range des données utilisées dans le classeur:
"Range("A1").Select
Selection.CurrentRegion.Select"


Le resultat du code(complet) ci-dessus est la création d'autant de fichiers .dbf qu'il y a de .xls dans le dossier traité. Seulement chaque .dbf a le contenu du premier fichier du dossier traité, voyez vous?
Or chaque .dbf doit avoir le contenu de chaque .xls portant le même nom, voyez vous?
0
cs_Yoyo2B Messages postés 125 Date d'inscription jeudi 27 février 2003 Statut Membre Dernière intervention 6 mars 2008
12 juil. 2005 à 14:50
y'a pas un truc sur vba du style workbook.open et tu spécifie le nom du classeur à ouvrir ?

happy coding ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
emilekader Messages postés 6 Date d'inscription vendredi 3 décembre 2004 Statut Membre Dernière intervention 12 juillet 2005
12 juil. 2005 à 17:58
c'est bon j'ai résolu le pb.
je te remercie , je m'oriente desormais vers l'ouverture d'un dossier complet à convertir ainsi que ses sou dossiers.
pour le code il fallait ajouter:
workbooks.open(f)
puis à la fin worbook.close.
si quelqu'un souhaite convertir des fichiers de la gamme excel , tout type de format proposé par excel , qu'il me bip...
0
KIBLY Messages postés 1 Date d'inscription jeudi 3 mars 2005 Statut Membre Dernière intervention 6 juillet 2006
6 juil. 2006 à 09:51
Salut, je cherche a convertir un xls en dbf, mais je dois aussi changer le nom des colones du xls et en supprimer quelques unes ( colones ) ...
0