Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…