Synchronisation de fichiers / dossiers (vba-friendly)
Fermé
CMad
-
18 avril 2023 à 17:38
Willzac Messages postés 266 Date d'inscription mercredi 27 septembre 2017 Statut Membre Dernière intervention 20 juin 2024 - 20 avril 2023 à 13:53
Willzac Messages postés 266 Date d'inscription mercredi 27 septembre 2017 Statut Membre Dernière intervention 20 juin 2024 - 20 avril 2023 à 13:53
A voir également:
- Synchronisation de fichiers / dossiers (vba-friendly)
- Explorateur de fichiers - Guide
- Wetransfer gratuit fichiers lourd - Guide
- Renommer plusieurs fichiers en même temps - Guide
- Fichiers epub - Guide
- Mettre un mot de passe sur un dossier - Guide
2 réponses
Willzac
Messages postés
266
Date d'inscription
mercredi 27 septembre 2017
Statut
Membre
Dernière intervention
20 juin 2024
14
Modifié le 19 avril 2023 à 16:53
Modifié le 19 avril 2023 à 16:53
Bonjour,
Donc si j'ai bien compris,
Quand vous enregistrez un classeur (Excel), vous avez deux enregistrements :
Un dans votre clé et un autre dans votre disque dur ?
Si c'est l'cas, voici les étapes a suivre :
Etape 1:
- Tapez les codes dans ThisWorkbook mais pas dans les modules
- Choisissez un évènement de la fermeture de votre classeur
Etape 2 (saisie des codes):
- Désactiver l'alerte avant l'enregistrement
- Enregistrer sur l'emplacement HDD (sans oublier le nom et l'extension du fichier)
- Enregistrer sur l'emplacement USB (sans oublier le nom et l'extension du fichier)
- Fermer le classeur actif
Il vous reste juste à l'traduire
Cordialement
Willzac
Bonjour et merci Willzac,
En attendant une réponse et le retour d'internet, j'ai fait :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
dossier = Dir("D:\MaClé\", vbDirectory) 'cherche clé usb
If ThisWorkbook.Saved = True Then 'si pas de modif depuis dernier enregistrement, ne fait rien
Else 'sinon, cherche si la clé est là
If dossier = "" Then 'si non...
If MsgBox("La clé USB n'est pas installée." & Chr(10) & _
"Souhaites-tu continuer quand-même ?", vbYesNo) = vbYes Then
Else
MsgBox "Insère la clé USB avant de faire OK"
dossier = Dir("D:\MaClé\")
If dossier = "" Then
MsgBox "Clé pas installée" & Chr(10) & "Procédure annulée"
Else
EnregSurUsb 'lance proc
End If
End If
Else
EnregSurUsb 'lance proc
End If
End If
End Sub
et :
Sub EnregSurUsb()
'procédure appelée par Private Sub Workbook_BeforeSave
'pour enregistrer une copie à jour sur USB
dossier = Dir("D:\MaClé\", vbDirectory)
If dossier = "" Then
Else
ActiveWorkbook.SaveAs Filename:= _
"D:\MaClé\" & ThisWorkbook.Name, FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End If
End Sub
Pas encore pu tester en conditions réelles mais débuts prometteurs.
Pourquoi devrais-je désactiver l'alerte avant enregistrement ?
Willzac
Messages postés
266
Date d'inscription
mercredi 27 septembre 2017
Statut
Membre
Dernière intervention
20 juin 2024
14
20 avril 2023 à 13:53
20 avril 2023 à 13:53
Pour éviter d'avoir un message du genre :
Cordialement