Comment forcer les coller en collage spécial valeurs ?
5 réponses
Paatou
Bonjour,
Mon besoin est le suivant : protéger un classeur Excel de sorte à ce que
tous les collages soient fait comme "collage spécial valeurs".
L'objectif étant que diverses personnes puissent alimenter des feuilles de
saisie mais sans jamais pouvoir altérer les mises en forme ni les
protections/verrouillages présents dans le fichier Excel qu'on leur donne.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
FFO
Salut à toi
Pour protéger la structure de tes cellules il faut protéger la feuille correspondante Pour chaque feuille donc il faut opérer ainsi :
Outils/Protection/Protéger la feuille Saisir un Mot de passe : "Toto" par exemple Cocher Sélectionner les cellules vérrouiller Sélectionner les cellules dévérrouiller Ok Confirmer le Mot de passe : "Toto"
Dans le VBA de la feuille mets ceci (Alt+F11)
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) Cancel = True ActiveSheet.Unprotect "Toto" Target = InputBox("Veuillez saisir la valeur", "Valeur") ActiveSheet.Protect "Toto" End Sub
L'utilisateur devra par un simple click droit sur une cellule dans une boîte de dialogue saisir la valeur à intégrer dans cette cellule
Pour éviter de connaître le mot de passe par consultation du code il faudra protéger le projet ainsi :
Alt+F11 Click droit sur ThisWorkbook (Fenêtre de gauche) Propriétés de VBAProject Onglet Protection Cocher Verrouiller le projet pour l'affichage Saisir un mot de passe (Identique ou différent) Confirmer le mot de passe Ok
Enregistrer le classeur
A sa réouverture le code pourra être consulté moyennant ce mot de passe
Pour protéger la structure de tes cellules il faut protéger la feuille
correspondante
Pour chaque feuille donc il faut opérer ainsi :
Outils/Protection/Protéger la feuille
Saisir un Mot de passe : "Toto" par exemple
Cocher
Sélectionner les cellules vérrouiller
Sélectionner les cellules dévérrouiller
Ok
Confirmer le Mot de passe : "Toto"
Dans le VBA de la feuille mets ceci (Alt+F11)
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As
Boolean)
Cancel = True
ActiveSheet.Unprotect "Toto"
Target = InputBox("Veuillez saisir la valeur", "Valeur")
ActiveSheet.Protect "Toto"
End Sub
L'utilisateur devra par un simple click droit sur une cellule dans une boîte
de dialogue saisir la valeur à intégrer dans cette cellule
Pour éviter de connaître le mot de passe par consultation du code il faudra
protéger le projet ainsi :
Alt+F11
Click droit sur ThisWorkbook (Fenêtre de gauche)
Propriétés de VBAProject
Onglet Protection
Cocher Verrouiller le projet pour l'affichage
Saisir un mot de passe (Identique ou différent)
Confirmer le mot de passe
Ok
Enregistrer le classeur
A sa réouverture le code pourra être consulté moyennant ce mot de passe
Pour protéger la structure de tes cellules il faut protéger la feuille correspondante Pour chaque feuille donc il faut opérer ainsi :
Outils/Protection/Protéger la feuille Saisir un Mot de passe : "Toto" par exemple Cocher Sélectionner les cellules vérrouiller Sélectionner les cellules dévérrouiller Ok Confirmer le Mot de passe : "Toto"
Dans le VBA de la feuille mets ceci (Alt+F11)
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) Cancel = True ActiveSheet.Unprotect "Toto" Target = InputBox("Veuillez saisir la valeur", "Valeur") ActiveSheet.Protect "Toto" End Sub
L'utilisateur devra par un simple click droit sur une cellule dans une boîte de dialogue saisir la valeur à intégrer dans cette cellule
Pour éviter de connaître le mot de passe par consultation du code il faudra protéger le projet ainsi :
Alt+F11 Click droit sur ThisWorkbook (Fenêtre de gauche) Propriétés de VBAProject Onglet Protection Cocher Verrouiller le projet pour l'affichage Saisir un mot de passe (Identique ou différent) Confirmer le mot de passe Ok
Enregistrer le classeur
A sa réouverture le code pourra être consulté moyennant ce mot de passe
Pour protéger la structure de tes cellules il faut protéger la feuille correspondante Pour chaque feuille donc il faut opérer ainsi :
Outils/Protection/Protéger la feuille Saisir un Mot de passe : "Toto" par exemple Cocher Sélectionner les cellules vérrouiller Sélectionner les cellules dévérrouiller Ok Confirmer le Mot de passe : "Toto"
Dans le VBA de la feuille mets ceci (Alt+F11)
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) Cancel = True ActiveSheet.Unprotect "Toto" Target = InputBox("Veuillez saisir la valeur", "Valeur") ActiveSheet.Protect "Toto" End Sub
L'utilisateur devra par un simple click droit sur une cellule dans une boîte de dialogue saisir la valeur à intégrer dans cette cellule
Pour éviter de connaître le mot de passe par consultation du code il faudra protéger le projet ainsi :
Alt+F11 Click droit sur ThisWorkbook (Fenêtre de gauche) Propriétés de VBAProject Onglet Protection Cocher Verrouiller le projet pour l'affichage Saisir un mot de passe (Identique ou différent) Confirmer le mot de passe Ok
Enregistrer le classeur
A sa réouverture le code pourra être consulté moyennant ce mot de passe
Pour protéger la structure de tes cellules il faut protéger la feuille
correspondante
Pour chaque feuille donc il faut opérer ainsi :
Outils/Protection/Protéger la feuille
Saisir un Mot de passe : "Toto" par exemple
Cocher
Sélectionner les cellules vérrouiller
Sélectionner les cellules dévérrouiller
Ok
Confirmer le Mot de passe : "Toto"
Dans le VBA de la feuille mets ceci (Alt+F11)
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As
Boolean)
Cancel = True
ActiveSheet.Unprotect "Toto"
Target = InputBox("Veuillez saisir la valeur", "Valeur")
ActiveSheet.Protect "Toto"
End Sub
L'utilisateur devra par un simple click droit sur une cellule dans une boîte
de dialogue saisir la valeur à intégrer dans cette cellule
Pour éviter de connaître le mot de passe par consultation du code il faudra
protéger le projet ainsi :
Alt+F11
Click droit sur ThisWorkbook (Fenêtre de gauche)
Propriétés de VBAProject
Onglet Protection
Cocher Verrouiller le projet pour l'affichage
Saisir un mot de passe (Identique ou différent)
Confirmer le mot de passe
Ok
Enregistrer le classeur
A sa réouverture le code pourra être consulté moyennant ce mot de passe
Pour protéger la structure de tes cellules il faut protéger la feuille correspondante Pour chaque feuille donc il faut opérer ainsi :
Outils/Protection/Protéger la feuille Saisir un Mot de passe : "Toto" par exemple Cocher Sélectionner les cellules vérrouiller Sélectionner les cellules dévérrouiller Ok Confirmer le Mot de passe : "Toto"
Dans le VBA de la feuille mets ceci (Alt+F11)
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) Cancel = True ActiveSheet.Unprotect "Toto" Target = InputBox("Veuillez saisir la valeur", "Valeur") ActiveSheet.Protect "Toto" End Sub
L'utilisateur devra par un simple click droit sur une cellule dans une boîte de dialogue saisir la valeur à intégrer dans cette cellule
Pour éviter de connaître le mot de passe par consultation du code il faudra protéger le projet ainsi :
Alt+F11 Click droit sur ThisWorkbook (Fenêtre de gauche) Propriétés de VBAProject Onglet Protection Cocher Verrouiller le projet pour l'affichage Saisir un mot de passe (Identique ou différent) Confirmer le mot de passe Ok
Enregistrer le classeur
A sa réouverture le code pourra être consulté moyennant ce mot de passe
Un petit exemple de ce qui est possible de faire !
http://cjoint.com/?gmnk32UiKj
"Paatou" a écrit dans le message de groupe de discussion : Bonjour,
Mon besoin est le suivant : protéger un classeur Excel de sorte à ce que tous les collages soient fait comme "collage spécial valeurs".
L'objectif étant que diverses personnes puissent alimenter des feuilles de saisie mais sans jamais pouvoir altérer les mises en forme ni les protections/verrouillages présents dans le fichier Excel qu'on leur donne.
Bonjour Paatou,
Un petit exemple de ce qui est possible de faire !
http://cjoint.com/?gmnk32UiKj
"Paatou" <Paatou@discussions.microsoft.com> a écrit dans le message de groupe de
discussion : F992284D-9942-4F5E-8026-287563BCD5C4@microsoft.com...
Bonjour,
Mon besoin est le suivant : protéger un classeur Excel de sorte à ce que
tous les collages soient fait comme "collage spécial valeurs".
L'objectif étant que diverses personnes puissent alimenter des feuilles de
saisie mais sans jamais pouvoir altérer les mises en forme ni les
protections/verrouillages présents dans le fichier Excel qu'on leur donne.
Un petit exemple de ce qui est possible de faire !
http://cjoint.com/?gmnk32UiKj
"Paatou" a écrit dans le message de groupe de discussion : Bonjour,
Mon besoin est le suivant : protéger un classeur Excel de sorte à ce que tous les collages soient fait comme "collage spécial valeurs".
L'objectif étant que diverses personnes puissent alimenter des feuilles de saisie mais sans jamais pouvoir altérer les mises en forme ni les protections/verrouillages présents dans le fichier Excel qu'on leur donne.
Paatou
Waouu des réponses si rapidement c'est génial, ça fait plaisir, merci.
FFO, j'ai l'impression que ce que tu proposes ne réponds pas vraiment à mon besoin.
MichDenis, j'aime beaucoup ton exemple, je préfère ta solution à une autre que j'avais vue et qui consistait à reconfigurer toutes les manières de faire un copier-coller pour le remplacer par un collage spécial. Le temps m'ayant un peu manquer, je dois regarder plus précisément le code que tu as donné. Par contre, le cas qui me gêne le plus se produit aussi avec ta solution à savoir : si tu ouvres un deuxième fichier Excel que tu copies dans celui-ci une cellule verrouillée et colorée, si tu la colles dans ton fichier (sur une cellule ni verrouillée, ni colorée ) tu obtiens la même cellule verrouillée et colorée :-.
Waouu des réponses si rapidement c'est génial, ça fait plaisir, merci.
FFO, j'ai l'impression que ce que tu proposes ne réponds pas vraiment à mon
besoin.
MichDenis, j'aime beaucoup ton exemple, je préfère ta solution à une autre
que j'avais vue et qui consistait à reconfigurer toutes les manières de faire
un copier-coller pour le remplacer par un collage spécial.
Le temps m'ayant un peu manquer, je dois regarder plus précisément le code
que tu as donné.
Par contre, le cas qui me gêne le plus se produit aussi avec ta solution à
savoir : si tu ouvres un deuxième fichier Excel que tu copies dans celui-ci
une cellule verrouillée et colorée, si tu la colles dans ton fichier (sur une
cellule ni verrouillée, ni colorée ) tu obtiens la même cellule verrouillée
et colorée :-.
Waouu des réponses si rapidement c'est génial, ça fait plaisir, merci.
FFO, j'ai l'impression que ce que tu proposes ne réponds pas vraiment à mon besoin.
MichDenis, j'aime beaucoup ton exemple, je préfère ta solution à une autre que j'avais vue et qui consistait à reconfigurer toutes les manières de faire un copier-coller pour le remplacer par un collage spécial. Le temps m'ayant un peu manquer, je dois regarder plus précisément le code que tu as donné. Par contre, le cas qui me gêne le plus se produit aussi avec ta solution à savoir : si tu ouvres un deuxième fichier Excel que tu copies dans celui-ci une cellule verrouillée et colorée, si tu la colles dans ton fichier (sur une cellule ni verrouillée, ni colorée ) tu obtiens la même cellule verrouillée et colorée :-.
MichDenis
| Par contre, le cas qui me gêne le plus se produit aussi avec ta solution à | savoir : si tu ouvres un deuxième fichier Excel que tu copies dans celui-ci | une cellule verrouillée et colorée, si tu la colles dans ton fichier (sur une | cellule ni verrouillée, ni colorée ) tu obtiens la même cellule verrouillée | et colorée :-.
A ) L'exemple présenté s'applique dans des fichiers différents si ces fichiers sont ouverts dans la même instance d'Excel. B ) J'ai refait un test sommaire sous la version Excel 2003 et Excel 2007. Si dans le fichier exemple publié, tu fais un collage spécial (valeur seulement) ou un "Coller" ou que tu utilises le raccourci clavier Ctrl + V, seule la valeur des contenus est copiée... excluant les autres caractéristiques de la cellule (format, et verrouillage) C ) Il y a le cas énoncé particulier dans l'encadré rouge énoncé dans le classeur. J'aurais pu ajouter que la commande "End" pour mettre fin à l'exécution d'une procédure cause le même effet que cité.
| Par contre, le cas qui me gêne le plus se produit aussi avec ta solution à
| savoir : si tu ouvres un deuxième fichier Excel que tu copies dans celui-ci
| une cellule verrouillée et colorée, si tu la colles dans ton fichier (sur une
| cellule ni verrouillée, ni colorée ) tu obtiens la même cellule verrouillée
| et colorée :-.
A ) L'exemple présenté s'applique dans des fichiers différents si ces fichiers sont
ouverts dans la même instance d'Excel.
B ) J'ai refait un test sommaire sous la version Excel 2003 et Excel 2007. Si dans le
fichier exemple publié, tu fais un collage spécial (valeur seulement) ou un "Coller" ou
que tu utilises le raccourci clavier Ctrl + V, seule la valeur des contenus est copiée...
excluant les autres caractéristiques de la cellule (format, et verrouillage)
C ) Il y a le cas énoncé particulier dans l'encadré rouge énoncé dans le classeur.
J'aurais pu ajouter que
la commande "End" pour mettre fin à l'exécution d'une procédure cause le même effet que
cité.
| Par contre, le cas qui me gêne le plus se produit aussi avec ta solution à | savoir : si tu ouvres un deuxième fichier Excel que tu copies dans celui-ci | une cellule verrouillée et colorée, si tu la colles dans ton fichier (sur une | cellule ni verrouillée, ni colorée ) tu obtiens la même cellule verrouillée | et colorée :-.
A ) L'exemple présenté s'applique dans des fichiers différents si ces fichiers sont ouverts dans la même instance d'Excel. B ) J'ai refait un test sommaire sous la version Excel 2003 et Excel 2007. Si dans le fichier exemple publié, tu fais un collage spécial (valeur seulement) ou un "Coller" ou que tu utilises le raccourci clavier Ctrl + V, seule la valeur des contenus est copiée... excluant les autres caractéristiques de la cellule (format, et verrouillage) C ) Il y a le cas énoncé particulier dans l'encadré rouge énoncé dans le classeur. J'aurais pu ajouter que la commande "End" pour mettre fin à l'exécution d'une procédure cause le même effet que cité.