macro Enregistrement special (*.dbf)

assniok

XLDnaute Occasionnel
Bonjour a tous,

j'essaye de creer un bouton utilisant une macro pour un enregistrement de fichier, j'ai essayé ce code :

Code:
Application.Dialogs(xlDialogSaveAs).Show Range("B2").Value & " - " & Format(Date, "ddmmyyyy") & ".dbf"

ça m'enregistre bien le fichier au format que je souhaite valeur de B2 - DATE.dbf cependant mon fichier n'est pas reelement exploitable en dbf :(

j'ai donc utilisé l'enregistreur de macro pour refaire mon fichier de façon a ce qu'il soit utilisable par la suite, ça me donne ce code :

Code:
    Application.CutCopyMode = False
    ActiveWorkbook.SaveAs Filename:= _
        "S:\Fichiers générés\028479 - 27112009.dbf", FileFormat:= _
        xlDBF4, CreateBackup:=False
    ActiveWorkbook.Save
    ActiveWindow.Close

j'ai besoin que mon fichier soit enregistré dans un repertoire precis S:\Fichiers générés\

et je n'arrive pas a mettre dans mon premier code les elements suivants :

Le chemin de destination
Le format dbf (xlDBF4)

vous avez une idée ?
 

Staple1600

XLDnaute Barbatruc
Re : macro Enregistrement special (*.dbf)

Bonjour


Avec cette méthode j'échoue à un cheveu

Code:
Sub test()
SendKeys "{TAB}"
SendKeys "{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}"
SendKeys "{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}"
SendKeys "{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}~"
'commencer cette ligne pour pouvoir la boitede dialogue
SendKeys "{TAB}{TAB}~"
Application.Dialogs(xlDialogSaveAs).Show Range("B2").Value & " - " & Format(Date, "ddmmyyyy") & ".dbf"
End Sub

Il passe bien dbf et ferme la boite de dialogue mais l'enregistrement ne se fait pas


Pourquoi ne pas utiliser le code issu de l'enregistreur de macros plutôt?
 

assniok

XLDnaute Occasionnel
Re : macro Enregistrement special (*.dbf)

Disons, que pour les utilisateurs, il faut que le chemin de destination soit bloquée par defaut... et le nom du fichier est important aussi :(

avec le code de l'enregistreur il n'y a pas moyen de mettre le path et le nom du fichier comme je le voudrais ?
 

Staple1600

XLDnaute Barbatruc
Re : macro Enregistrement special (*.dbf)

Re

Teste ceci en adaptant le nom du répertoire
Code:
Sub sauvedbf()
Dim Chemin$, Fichier$
Chemin = "D:\Test\"
Fichier = _
Range("B2").Value & " - " & Format(Date, "ddmmyyyy") & ".dbf"
ActiveWorkbook.SaveAs Chemin & Fichier, xlDBF4
ActiveWorkbook.Close False
End Sub
 

MJ13

XLDnaute Barbatruc
Re : macro Enregistrement special (*.dbf)

Bonjour à tous

Attention si vous passez à Excel 2007, il me semble que le format DBF n'est plus gérer (je ne sais plus si c'est en lecture ou en écriture ou les 2).

Assniok, en plus il y a souvent des soucis avec le format "DBF". Ne pourrais-tu pas l'exporter sous un autre type (txt, csv par exemple)?
 
G

Guest

Guest
Re : macro Enregistrement special (*.dbf)

Assniok, Staple, Michel,

Un lien utile:

Voir en bas de page: Certaines de mes données manquent quand je les enregistre au format dBASE.

C'était chouette dBase 2, 3, 4:D

A+ tout le monde
 

assniok

XLDnaute Occasionnel
Re : macro Enregistrement special (*.dbf)

salut Hasco ;)

merci pour l'info, cependant nous ne sommes pas pret pour le moment a passer a excel 2007... cependant ta remarque me fait tout de meme reflechir pour l'avenir...

je peux utiliser le format access 2000 (*.mdb), reste a voir si toutes mes données sont bien prises en compte...

edit: il semble que le format mdb ne soit pas pris en compte dans excel, quequ'un peut me confirmer ?
 
Dernière édition:

assniok

XLDnaute Occasionnel
Re : macro Enregistrement special (*.dbf)

pour info:

Database Manager supporte les formats de bases de données les plus répandus sous Windows™, vous pourrez exploiter les bases de données 32 bits :

En création :
DBase™ V et Access™ 2000

En ouverture :
Access™ 97 et Access™ 2000 ;
DBase™ III, DBase™ IV et DBase™ V ;

@+
 

assniok

XLDnaute Occasionnel
Re : macro Enregistrement special (*.dbf)

Re

Teste ceci en adaptant le nom du répertoire
Code:
Sub sauvedbf()
Dim Chemin$, Fichier$
Chemin = "D:\Test\"
Fichier = _
Range("B2").Value & " - " & Format(Date, "ddmmyyyy") & ".dbf"
ActiveWorkbook.SaveAs Chemin & Fichier, xlDBF4
ActiveWorkbook.Close False
End Sub

cela semble fonctionner !

est il possible de rajouter quelque chose dans le cas ou un fichier du meme nom existerait, genre qu'il soit ecrasé automatiquement sans demander de confirmation ?

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 299
Messages
2 086 996
Membres
103 423
dernier inscrit
Guyom GIL