Sauvegarde sur clef usb

Anonyme
2010-07-04T09:38:32+00:00

Bonjour,

Je voudrais modifier un bout de code pour sauvegarder un répertoire sur clef usb.

A la fermeture du classeur, le classeur s'enregistre dans C:"xxx" ou x égale nom du classeur, et je voudrais aussi sauvegarder le répertoire qui contient le classeur sur clef usb.

Voici ce que j'ai:

'                   ---------bouton quitter Excel--------------

Private Sub FermerProg_Click()

          Dim w

1             If Dir("K:\sav-prog", vbDirectory) <> "" Then

2                 Application.DisplayAlerts = False

3                 For Each w In Application.Workbooks

4                     w.Save '---------Sauvegarde le classeur sur l'ordi --------

5                     w.SaveAs "K:\sav-prog" & w.Name '----Sauvegarde le classeur sur la clef de sauvegarde ----

6                 Next

7                 Application.DisplayAlerts = True

8                 mywav6 ' ceci exécute la macro qui est dans le module 5

9                 Application.ScreenUpdating = True

10                Application.CommandBars.ActiveMenuBar.Enabled = True

11                Application.CommandBars("Formatting").Visible = True

12                Application.CommandBars("Standard").Visible = True

13                Application.DisplayFormulaBar = True

14                Application.DisplayScrollBars = True

15                ActiveSheet.Protect

16                Application.Quit

17                Exit Sub

18            Else

19                MsgBox "Vérifier que la clef soit bien en place"

20            End If

End Sub

je voudrais modifier la ligne 5 pour sauvegarder le répertoire et non le classeur.

Si quelq'un peut m'aider !!!

Merci par avance.

Peponne31

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire
Réponse acceptée par l’auteur de la question
Anonyme
2010-07-13T15:17:29+00:00

Un autre fichier exemple :  http://cjoint.com/?hnrc64cRFA

Tu enregistres le fichier dans le répertoire désiré.

Tu ouvres le fichier et tu cliques sur le bouton.

Tous les fichiers qui sont dans le même répertoire où tu as copié le fichier exemple

seront copiés sur ta clé dans un répertoire que la macro se chargera de créer au nom de "H2C_Ver_2"

Bien sûr, il faudra que ta clé soit connectée pour que cela réussisse

Tu n'as pas à regarder le code si cela te fait peur... tu n'as pas AUTRE CHOSE À FAIRE que les actions énumérées dans ce message.

Si cela fonctionne comme désiré, tu fais un copier-coller du code du module1 du classeur exemple vers un MODULE STANDARD que tu inséreras dans ton vrai classeur. (fenêtre VBA / barre des menus / insertion / module)

C'était mon dernier message sur ce fil.


MichD


"Peponne31" a écrit dans le message de groupe de discussion : *** Adresse électronique supprimée pour cause de confidentialité ***...

Bonjour à tous et merci pour vos réponses.

je suis perdu dans vos exemples, j'ai mi en place

le code de MichD de lundi à 5h45

que doit-je modifier dans:

Copie_répertoire_Source ThisWorkbook.Path , "H2C_Ver_2"

pour faire appel au module ?

Merci encore

Peponne31

Cette réponse a-t-elle été utile ?

0 commentaires Aucun commentaire

22 réponses supplémentaires

  1. Anonyme
    2012-05-31T05:43:56+00:00

    Merci beaucoup,

    Enfet j'ai fait un programme en vb qui utilise des bases de données ecrite en .txt , le tout est placée dans un dossier, et je voudrait ajouter un bouton dans mon USF d'option afin de pouvoir effectuer une sauvegarde sur clef usb : d'où l'utiliter du code.

    Merci bien pour le code je vais essayer de l'adapter à mon cas.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2012-05-30T11:34:13+00:00

    Pour ce qui est du fichier, il faut oublier ça, je ne conserve pas tous les
    fichiers exemple que je crée.

    Voici le code que tu peux utiliser en le plaçant dans un module standard

    Tu lances toute la procédure par cette ligne de code :
    Copie_répertoire_Source "c:\Users\Denis\Documents\*.*", "MichD"

    La procédure copie tous les répertoires / sous-répertoires et fichiers de
    chaque répertoire vers le répertoire de destination "MichD". Ce
    répertoire "MichD" sera créé sur ta clé s'il n'existe pas. Au besoin, tu
    pourrais écrire ceci comme chemin de destination "toto\titi\tutu" et
    la procédure créera tout le chemin si besoin ou seulement un ou 2
    répertoires selon le cas.

    Ceci était le besoin du demandeur. Il y a sûrement moyen de modifier la
    procédure selon ce que tu veux faire. Tu n'es pas très explicite dans tes remarques.
     '--------------------------------------------------------------
    Sub test()

    Copie_répertoire_Source "c:\Users\Denis\Documents\*.*", "MichD"

    End Sub
    '--------------------------------------------------------------
    Sub Copie_répertoire_Source(Répertoire As String, RepDestination)
    Dim LecteurSource As String, Prêt As Boolean
    Dim LecteurDestination As String
    Dim Chemin As String

    LecteurSource = Left(Répertoire, 3)
    Chemin = Right(Répertoire, Len(Répertoire) - 3)

    LecteurDestination = RemovableDisk(LecteurSource)
    If LecteurDestination <> "" Then
       Prêt = EstPret(LecteurDestination)
       If Prêt = False Then
           MsgBox "Le lecteur amovible n'est pas prêt."
           Exit Sub
       End If
    Else
       MsgBox "Aucun disque amovible détecté."
       Exit Sub
    End If

    'Création du répertoire si nécessaire
    Creer_Chemin LecteurDestination, LecteurDestination & RepDestination
    DoEvents
    'Copie des fichiers vers la destination
    Commande = Environ("comspec") & " /c Xcopy /S/E/Y " & _
    LecteurSource & Chemin & " " & LecteurDestination & RepDestination & ""

    Shell Commande, 0

    End Sub
    '--------------------------------------------------------------
    Function RemovableDisk(MonLecteur As String)
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
       & "{impersonationLevel=impersonate}!\" & _
           strComputer & "\root\cimv2")
    Set colDisks = objWMIService.ExecQuery _
       ("Select * from Win32_LogicalDisk")
    For Each Objdisk In colDisks
       '2 constante numérique pour disque dur "removable"
       If Objdisk.DriveType = 2 Then
           RemovableDisk = Objdisk.Name & ""
           Exit Function
       End If
    Next
    End Function
    '--------------------------------------------------------------
    Function EstPret(Lecteur As String)
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set colDrives = objFSO.Drives
    For Each objdrive In colDrives
       If Lecteur = objdrive & "" Then
           If objdrive.IsReady = True Then
               EstPret = objdrive.IsReady
           End If
       End If
    Next
    End Function
    '--------------------------------------------------------------
    Sub Creer_Chemin(Racine, Chemin As String)
    Dim Commande As String
    'Crée le chemin indiqué si les répertoires ne
    'sont pas présents. N'écrase rien !
    ChDrive Racine
    Commande = Environ("comspec") & " /c mkdir " & Chemin
    Shell Commande, 0
    End Sub
    '--------------------------------------------------------------

    "Kashim37" a écrit dans le message de groupe de discussion : ******@communitybridge2.codeplex.com.excel...

    Bonjours,

    Dans le cadre de mon projet de fin d'études je suis assez interesser pas ce genre de sauvegarde sur clef usb, cependant je craint que le lient soit mort, serait tu me l'envoyer par mails s'il te plait?

    Merci


    http://answers.microsoft.com/message/a8e0e4dc-4c90-4a38-a13b-7a606b89699a?threadId=25cdc6cc-1706-4c04-9a62-71f0baf1a8f8
    Meta tags: windows_vista; excel; office_2003

    Wed, 30 May 2012 06:58:44  +0000: CreateMessage  Kashim37

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. Anonyme
    2012-05-30T06:58:44+00:00

    Bonjours,

    Dans le cadre de mon projet de fin d'études je suis assez interesser pas ce genre de sauvegarde sur clef usb, cependant je craint que le lient soit mort, serait tu me l'envoyer par mails s'il te plait?

    Merci

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. Anonyme
    2010-07-13T18:42:22+00:00

    Bonsoir et merci à tous pour votre aide.

    j'ai bien recopié le fichier joint tel quel.

    au clic sur le bouton j'ai toujour le même message d'erreur

    le lecteur amovible n'est pas prèt.

    ce n'est pas grave, on fera une sauvegarde manuelle

    encore merci

    Peponne31

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire