A voir également:
- Sauvegarde de données et protection VBA Excel
- Logiciel de sauvegarde gratuit - Guide
- Word et excel gratuit - Guide
- Si et excel - Guide
- Liste déroulante excel - Guide
- Trier des données excel - Guide
4 réponses
Bonjour,
Pour protéger toutes les cellules, le code est :
ActiveSheet.Protect
Avec mot d epasse :
ActiveSheet.Protect ("mot de passe")
Pour déprotéger :
ActiveSheet.UnProtect
Pour déprotéger avec mot de passe :
ActiveSheet.Unprotect ("mot de passe")
Je te conseille par défaut de protéger ton classeur.
A l'ouverture, d'utiliser cette macro :
sub auto-open () ' se déclenche à l'ouverture du classeur
activesheet.unprotect ' enlèves la protection
range(cells(1,1),cells(3,2)).select 'sélectionnes de la cellule A1 à B3 (cells, ligne, colonne)
Selection.Locked = False 'déverrouilles la protection des cellules sélectionnées
activesheet.protect 'tu reprotèges la feuille, les utilisateurs ne peuvent saisir qu'en A1 à B3
end sub
En protégeant par défaut, ca oblige les utilisateurs à activer les macros.
Ainsi, une fois les macros activées, ils ne peuvent saisir que la ou tu le souhaites.
Quant à la sauvegarde, quel type de sauvegarde veux tu? Une sauvegarde du fichier, dans une autre feuille?
Pour protéger toutes les cellules, le code est :
ActiveSheet.Protect
Avec mot d epasse :
ActiveSheet.Protect ("mot de passe")
Pour déprotéger :
ActiveSheet.UnProtect
Pour déprotéger avec mot de passe :
ActiveSheet.Unprotect ("mot de passe")
Je te conseille par défaut de protéger ton classeur.
A l'ouverture, d'utiliser cette macro :
sub auto-open () ' se déclenche à l'ouverture du classeur
activesheet.unprotect ' enlèves la protection
range(cells(1,1),cells(3,2)).select 'sélectionnes de la cellule A1 à B3 (cells, ligne, colonne)
Selection.Locked = False 'déverrouilles la protection des cellules sélectionnées
activesheet.protect 'tu reprotèges la feuille, les utilisateurs ne peuvent saisir qu'en A1 à B3
end sub
En protégeant par défaut, ca oblige les utilisateurs à activer les macros.
Ainsi, une fois les macros activées, ils ne peuvent saisir que la ou tu le souhaites.
Quant à la sauvegarde, quel type de sauvegarde veux tu? Une sauvegarde du fichier, dans une autre feuille?
Merci melanie 1324,
Je vais essayer ce que tu m"as dit pour la protection.
Pour ce qui est de la sauvegarde....
les utilisateurs entreront des données dans certaines cellules de la feuille 1. Sur cette meme feuille, des scores sont calculés (à partir des données saisies).
Je souhaite que lorsque l'uitilisateur clique sur le bouton sauvegarder, la macro liée à ce bouton copie d'une part les données entrées et d'autre part les scores calculés. Puis colle l'ensemble dans le tableau de la feuille 2.
Cette partie est dèjà faite dans le code ci dessus.
Imaginons qu'un utilisateur rentre ses données puis sauvegarde. Jusque là tout va bien.
Mon probleme pour l'instant est que lorsq'un second utilisateur entre ses données puis sauvegarde, la macro crée une ligne sur laquelle sont enregistrées les données de l'utilisateur 2 MAIS les résultats enregistré par l'utilisateur 1 (sur la ligne du dessus) sont aussi changés en ceux de l'utilisateur 2.
Ce qui ne m'avance à rien vu que je souhaite garder les résultats des différents utilisateurs.
J'espère que j'ai été plus compréhensible.
Merci à tout ceux qui se pencheront sur mon probleme.
Je vais essayer ce que tu m"as dit pour la protection.
Pour ce qui est de la sauvegarde....
les utilisateurs entreront des données dans certaines cellules de la feuille 1. Sur cette meme feuille, des scores sont calculés (à partir des données saisies).
Je souhaite que lorsque l'uitilisateur clique sur le bouton sauvegarder, la macro liée à ce bouton copie d'une part les données entrées et d'autre part les scores calculés. Puis colle l'ensemble dans le tableau de la feuille 2.
Cette partie est dèjà faite dans le code ci dessus.
Imaginons qu'un utilisateur rentre ses données puis sauvegarde. Jusque là tout va bien.
Mon probleme pour l'instant est que lorsq'un second utilisateur entre ses données puis sauvegarde, la macro crée une ligne sur laquelle sont enregistrées les données de l'utilisateur 2 MAIS les résultats enregistré par l'utilisateur 1 (sur la ligne du dessus) sont aussi changés en ceux de l'utilisateur 2.
Ce qui ne m'avance à rien vu que je souhaite garder les résultats des différents utilisateurs.
J'espère que j'ai été plus compréhensible.
Merci à tout ceux qui se pencheront sur mon probleme.
Re,
j'ai une solution pour toi.
Tu copies la ligne du 1er utilisateur, et tu fais un copiage valeur sur cette ligne.
Le code pour copiage valeur :
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
En espérant avoir pu t'aider
j'ai une solution pour toi.
Tu copies la ligne du 1er utilisateur, et tu fais un copiage valeur sur cette ligne.
Le code pour copiage valeur :
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
En espérant avoir pu t'aider