après saisie copie automatique du fichier dans un autre dossier

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

patouman

XLDnaute Occasionnel
Bonjour à tous,

voici mon problème, j'espère que vous pourrez m'aider.
j'ai un fichier de saisie placé dans un dossier partagé destiné à plusieurs utilisateurs.

1/Je souhaiterais qu'après chaque sauvegarde, une copie de ce fichier s'exécute dans un dossier où je suis le seul à avoir la main.

ou

2/ simplement empêcher de supprimer ou déplacer ce fichier


je vous remercie par avance
 
Re : après saisie copie automatique du fichier dans un autre dossier

Bonjour,

1/Je souhaiterais qu'après chaque sauvegarde, une copie de ce fichier s'exécute dans un dossier où je suis le seul à avoir la main.

regarde du coté de la méthode "SaveCopyAs", peut être à placer dans l'événement "AfterSave" du module "thisworkbook"...

bonne journée
@+
 
Re : après saisie copie automatique du fichier dans un autre dossier

Bonjour,



regarde du coté de la méthode "SaveCopyAs", peut être à placer dans l'événement "AfterSave" du module "thisworkbook"...

bonne journée
@+

Merci Pierrot, effectivement cela semble être la bonne piste

toutefois, l'environnement macro de mon fichier semble poser quelques soucis :
C'est un fichier multi utilisateurs devant entrer leur identité et leur mot de passe, moi meme étant l'administrateur

voici la macro :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
'on affiche la feuille Vierge
Sheets("Vierge").Visible = True
'on planque toutes les autres feuilles sauf Vierge
For x = 1 To ThisWorkbook.Sheets.Count
If Sheets(x).Name <> "Vierge" Then Sheets(x).Visible = xlSheetVeryHidden
Next

End Sub







Private Sub Workbook_Open()
On Error Resume Next
Application.ScreenUpdating = False
'on defini un pointeur
Pointeur = 0

'on affiche la feuille Vierge
Sheets("Vierge").Visible = True
'on va dessus
Sheets("Vierge").Activate
'on planque toutes les autres
For x = 1 To ThisWorkbook.Sheets.Count
If Sheets(x).Name <> "Vierge" Then Sheets(x).Visible = xlSheetVeryHidden
Next

'on saisit le user
User = InputBox("Veuillez saisir votre nom d'utilisateur", "Utilisateur")
'on saisit le mot de passe
mdp = InputBox("Veuillez saisir votre mot de passe", "Mot de passe")

'Derniere ligne du tableau de la feuille DroitsUsers pour boucler dessus
DerLigne = Sheets("DroitsUsers").Range("A65536").End(xlUp).Row

'on boucle pour trouver les occurences, x=2 car je pars du principe que la premiere ligne _
contient les entetes de colonne
For x = 2 To DerLigne
'si ce qu'il y a dans la colonne1 (Colonne A : user) = le user saisi _
ET ce qu'il y a dans la colonne2 (Colonne B : mot de passe)
If Worksheets("DroitsUsers").Cells(x, 1) = User And Worksheets("DroitsUsers").Cells(x, 2) = mdp Then
'on affiche la feuille définié en colonne3 (Colonne C : Onglet autorisé)
'on affiche la feuille correspondante
FeuilleVisible = Worksheets("DroitsUsers").Cells(x, 3)
Sheets(FeuilleVisible).Visible = True
'on va dessus
Sheets(FeuilleVisible).Activate
'on se met un pointeur pour voir si on trouve quelque chose, si on trouve rien on quittera
Pointeur = Pointeur + 1
ElseIf Worksheets("DroitsUsers").Cells(x, 1) = "Admin" And Worksheets("DroitsUsers").Cells(x, 2) = "MdpAdmin" Then
For i = 1 To ThisWorkbook.Sheets.Count
If Sheets(i).Name <> "Vierge" Then Sheets(i).Visible = True
Next
Application.ScreenUpdating = True
Exit Sub
End If

Next x

'Si le pointeur est 0 on ferme le fichier.
If Pointeur = 0 Then
MsgBox "Utilisateur ou mot de passe non valide" & vbCrLf & vbCrLf & "Le fichier va se fermer", vbCritical + vbOKOnly, "Sécurité"
ActiveWorkbook.Close SaveChanges:=False
End If

'on planque la feuille Vierge
Sheets("Vierge").Visible = 2

Application.ScreenUpdating = True


End Sub

Je souhaiterais :
- que les utilisateurs n'aient pas accès aux fonctions "enregistrer" et "enregistrer sous"
- que le fichier s'enregistre à la fermeture en écrasant l'ancien sans message du type "il existe un fichier nommé...."
- que soit enregistré une copie supplémentaire à l'emplacement suivant :
ChDir "U:\DZAG\Y1Y2\Y2-Bureau\PREVENTION DOSSIERS\BILAN ACTIVITES"
ActiveWorkbook.SaveAs Filename:=_
"U:\DZAG\Y1Y2\Y2-Bureau\PREVENTION DOSSIERS\BILAN ACTIVITES\Bilan d activites Assistants de prevention - Copie.xlsm"_
, FileFormat:=x1OpenXMLWorkbookMacroEnabled, CreateBackup:=False

en y ajoutant la date (dd-mm-yy) et le nom d'utilisateur

MERCI BEAUCOUP pour votre aide
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
837
Réponses
16
Affichages
1 K
Retour