OVH Cloud OVH Cloud

copie sur un autre support

3 réponses
Avatar
tinou
Bonjour toi qui me lit,

la question qui va suivre peut paraitre dingue...
mais j'ai tellement posé des questions les plus folles
et qu'à chaque fois j'ai eu une reponse (sauf celle ou je demandais
une macro pour préchauffer mon four à 180°C pendant 10 min...! ),
j'me dis qu'une reponse est peut etre possible...

J'ai deja une macro qui fonctionne, mais je voudrais aller plus loin...
Voici le descriptif de ce que j'ai deja :
dans un dossier, tous les fichiers aux extensions *.rte
sont ouverts et enregistrés en *.dbf 4 dans le meme dossier.

voici ce que j'aimerai rajouter... :
- un msgbox apparaitré, demandant "voulez vous copier les fichiers DBF sur
un ZIP ?"
OUI / NON (le oui prendrait le focus)
- si OUI, une fenetre demanderait d'inserer un ZIP (bouton OK) et
le zip serait vidé de son contenu... (pas un formatage, c'est trop long,
juste "selectionner tout / supprimer")
et tous les fichiers DBF du meme dossier seraient copiés sur le zip.
- si NON... ben rien !


voici les codes de la premiere partie
******************************************************
Sub Enregistrement_DBF()

'Permet d'enregistrer le fichier RTE ouvert, ainsi
'que tous les autres fichiers RTE du meme dossier
'en DBF Base 4.

cheact = ActiveWorkbook.Path

With Application.FileSearch
.NewSearch
.LookIn = cheact
.SearchSubFolders = False
.Filename = "*.rte"
.Execute

With .FoundFiles
If .Count > 0 Then

For A = 1 To .Count
nom = .Item(A)
Workbooks.Open nom
newnam = Left(nom, Len(nom) - 4) & ".dbf"
ActiveWorkbook.SaveAs Filename:=newnam, _
FileFormat:=xlDBF4, CreateBackup:=False
ActiveWorkbook.Close False
Next A
Else
MsgBox "Aucun fichier (*.rte) trouvé"
End If
End With
End With

End Sub
*****************************************************

Faut-il forcement passer par les API ??
Pour info : le lecteur zip est G:\

Merci d'avance pour l'aide...

Tinou

3 réponses

Avatar
FxM
Bonsoir Tinou,

J'ai deja une macro qui fonctionne, mais je voudrais aller plus loin...


Es-tu sûr(e) que ce soit une bonne idée ?
AMHA, non mais c'est toi qui vois.


Pour info : le lecteur zip est G:
juste "selectionner tout / supprimer")


Il y abien le fameux kill "G:*.*"
Mais achtung !!!! Aucun avertissement et rien ne passe par la poubelle !


et tous les fichiers DBF du meme dossier seraient copiés sur le zip.
ça sent le filecopy source, destination

snif, snif ... et un peu le grillé. Jette n oeil à ton four :o)

@+
FxM






Bonjour toi qui me lit,

la question qui va suivre peut paraitre dingue...
mais j'ai tellement posé des questions les plus folles
et qu'à chaque fois j'ai eu une reponse (sauf celle ou je demandais
une macro pour préchauffer mon four à 180°C pendant 10 min...! ),
j'me dis qu'une reponse est peut etre possible...

J'ai deja une macro qui fonctionne, mais je voudrais aller plus loin...
Voici le descriptif de ce que j'ai deja :
dans un dossier, tous les fichiers aux extensions *.rte
sont ouverts et enregistrés en *.dbf 4 dans le meme dossier.

voici ce que j'aimerai rajouter... :
- un msgbox apparaitré, demandant "voulez vous copier les fichiers DBF sur
un ZIP ?"
OUI / NON (le oui prendrait le focus)
- si OUI, une fenetre demanderait d'inserer un ZIP (bouton OK) et
le zip serait vidé de son contenu... (pas un formatage, c'est trop long,
juste "selectionner tout / supprimer")
et tous les fichiers DBF du meme dossier seraient copiés sur le zip.
- si NON... ben rien !


voici les codes de la premiere partie
******************************************************
Sub Enregistrement_DBF()

'Permet d'enregistrer le fichier RTE ouvert, ainsi
'que tous les autres fichiers RTE du meme dossier
'en DBF Base 4.

cheact = ActiveWorkbook.Path

With Application.FileSearch
..NewSearch
..LookIn = cheact
..SearchSubFolders = False
..Filename = "*.rte"
..Execute

With .FoundFiles
If .Count > 0 Then

For A = 1 To .Count
nom = .Item(A)
Workbooks.Open nom
newnam = Left(nom, Len(nom) - 4) & ".dbf"
ActiveWorkbook.SaveAs Filename:=newnam, _
FileFormat:=xlDBF4, CreateBackup:úlse
ActiveWorkbook.Close False
Next A
Else
MsgBox "Aucun fichier (*.rte) trouvé"
End If
End With
End With

End Sub
*****************************************************

Faut-il forcement passer par les API ??
Pour info : le lecteur zip est G:

Merci d'avance pour l'aide...

Tinou


Avatar
tinou
Merci pour tes infos FxM...
Filecopy ou Copyfile faut utiliser ??
Filecopy n'est-ce pas pour UN fichier ?

ben moi, j'ai toujours un message d'erreur...
ca provient du copyfile !! ou peut etre du dossier en cours (cheact) ??
tout ce qui a avant est bon...

************************
Sub Enregistrement_DBF()

'Permet d'enregistrer le fichier RTE ouvert, ainsi
'que tous les autres fichiers RTE du meme dossier
'en DBF Base 4.

cheact = ActiveWorkbook.Path

With Application.FileSearch
.NewSearch
.LookIn = cheact
.SearchSubFolders = False
.Filename = "*.rte"
.Execute

With .FoundFiles
If .Count > 0 Then

For A = 1 To .Count
nom = .Item(A)
Workbooks.Open nom
newnam = Left(nom, Len(nom) - 4) & ".dbf"
ActiveWorkbook.SaveAs Filename:=newnam, _
FileFormat:=xlDBF4, CreateBackup:úlse
ActiveWorkbook.Close False
Next A
Else
MsgBox "Aucun fichier (*.rte) trouvé"
End If
End With
End With

'With Application.FileSearch '
'.NewSearch '
'.LookIn = cheact ' Cette partie n'est pas necessaire
???
'.SearchSubFolders = False '
'.Filename = "*.dbf" '
'.Execute '

'With .FoundFiles
MsgBox "Voulez-vous copier les fichiers DBF sur un ZIP ?",
vbOKCancel, "Enregistrement en DBF"
MsgBox "Insérer une disquette ZIP dans le lecteur", vbOKOnly,
"Enregistrement en DBF"
Kill "G:*.*"
FileSystemObject.CopyFile ?????cheact"*.dbf", "G:", True 'erreur'
End With
End With
End Sub
********************************

Please Help me
Merci encore d'etre à chaque fois là...

Tinou
Avatar
FxM
Bonsoir Tinou,

Merci pour tes infos FxM...
Filecopy ou Copyfile faut utiliser ??
Filecopy n'est-ce pas pour UN fichier ?
Voui ... et alors ?


ben moi, j'ai toujours un message d'erreur...
ca provient du copyfile !!
tu vois bien :o)


Please Help me
Le plus simple me semble être :

http://cjoint.com/?hgvXlqL0zb

Merci encore d'être à chaque fois là...
Z'en prie. Si je peux rendre service.


@+
FxM



Merci pour tes infos FxM...
Filecopy ou Copyfile faut utiliser ??
Filecopy n'est-ce pas pour UN fichier ?

ben moi, j'ai toujours un message d'erreur...
ca provient du copyfile !! ou peut etre du dossier en cours (cheact) ??
tout ce qui a avant est bon...

************************
Sub Enregistrement_DBF()

'Permet d'enregistrer le fichier RTE ouvert, ainsi
'que tous les autres fichiers RTE du meme dossier
'en DBF Base 4.

cheact = ActiveWorkbook.Path

With Application.FileSearch
..NewSearch
..LookIn = cheact
..SearchSubFolders = False
..Filename = "*.rte"
..Execute

With .FoundFiles
If .Count > 0 Then

For A = 1 To .Count
nom = .Item(A)
Workbooks.Open nom
newnam = Left(nom, Len(nom) - 4) & ".dbf"
ActiveWorkbook.SaveAs Filename:=newnam, _
FileFormat:=xlDBF4, CreateBackup:úlse
ActiveWorkbook.Close False
Next A
Else
MsgBox "Aucun fichier (*.rte) trouvé"
End If
End With
End With

'With Application.FileSearch '
'.NewSearch '
'.LookIn = cheact ' Cette partie n'est pas necessaire
???
'.SearchSubFolders = False '
'.Filename = "*.dbf" '
'.Execute '

'With .FoundFiles
MsgBox "Voulez-vous copier les fichiers DBF sur un ZIP ?",
vbOKCancel, "Enregistrement en DBF"
MsgBox "Insérer une disquette ZIP dans le lecteur", vbOKOnly,
"Enregistrement en DBF"
Kill "G:*.*"
FileSystemObject.CopyFile ?????cheact"*.dbf", "G:", True 'erreur'
End With
End With
End Sub
********************************

Please Help me
Merci encore d'etre à chaque fois là...

Tinou