La présente question fait référence à une réponse qui avait déjà été rendue
par AnonymousA plus tôt cet été (cette réponse figure au bas).
Je voudrais parvenir à invalider les suppression, ajout, déplacement et
renommage de feuilles (déjà protégées) dans un classeur. Cependant, je ne
peux me servir du module de protection classeur parce que j'ai des procédures
qui elles doivent pouvoir le faire librement. À ma grande surprise, la
méthode UserInterfaceOnly empêche ces opérations même si elles viennent de
mon code VBA.
La seule option qu'il me reste est-elle la 2ième solution d'AnonymousA ? Et
dans le cas où la réponse serait "oui", quelqu'un peut-il m'indiquer où
trouver les autres numéro de ID controls qui correspondent aux insertion,
renommage et déplacement (pas seulement la suppression #847).
Aussi, ai-je bien compris qu'il n'y a nul besoin de ré-autoriser ces
commandes en événement Worbook Before Close ? le prochain fichier ouvert
retrouverait automatiquement ces commandes ?
Merci bien de m'éclairer.
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
bonjour,
2 solutions possibles:
la 1ere, protéger le classeur ce qui empêchera la suppression des feuilles
mais aussi d'ailleurs d'autres corollaires (insertion, déplacement..). C'est
un peu contaignant.
2eme solution: écrire un petit programme VBA
Set CollControls = Application.CommandBars.FindControls(ID:=847)
For I = 1 To CollControls.Count
CollControls(I).Enabled = false
Next
ce qui invalidera la seule commande "supprimer" du menu Popup qui abrite
cette commande.Attention, est valable tout le temps de la session et pour
tous les ficheris ouverts durant celle-ci. Pour ne la réserver qu'à un seul
fichier , il faut gérer l'evenement Workbook_Deactivate et Workbook_activate
du présent fichier.
Ne résoud cependant pas le problème d'un petit malin qui connait VBA et qui
pourrait la revalider mais c'est quand même pas forcément féquent.
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
anonymousA
Bonjour,
je ne comprends pas bien ton affaire de UserInterfaceOnly , étant entendu que ce paramètre s'applique à une protection de feuille et non de classeur. Ceci dit, pour trouver tous les ID des controles , je te conseille soit le site de Frédéric Sigonneau à la rubrique BO soit de mémoire sur Excelabo où des procédures de détermination de tous les controles existent. Tu trouveras sans peine ton bonheur.
A+
Bonjour,
La présente question fait référence à une réponse qui avait déjà été rendue par AnonymousA plus tôt cet été (cette réponse figure au bas).
Je voudrais parvenir à invalider les suppression, ajout, déplacement et renommage de feuilles (déjà protégées) dans un classeur. Cependant, je ne peux me servir du module de protection classeur parce que j'ai des procédures qui elles doivent pouvoir le faire librement. À ma grande surprise, la méthode UserInterfaceOnly empêche ces opérations même si elles viennent de mon code VBA.
La seule option qu'il me reste est-elle la 2ième solution d'AnonymousA ? Et dans le cas où la réponse serait "oui", quelqu'un peut-il m'indiquer où trouver les autres numéro de ID controls qui correspondent aux insertion, renommage et déplacement (pas seulement la suppression #847).
Aussi, ai-je bien compris qu'il n'y a nul besoin de ré-autoriser ces commandes en événement Worbook Before Close ? le prochain fichier ouvert retrouverait automatiquement ces commandes ?
Merci bien de m'éclairer.
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
bonjour,
2 solutions possibles:
la 1ere, protéger le classeur ce qui empêchera la suppression des feuilles mais aussi d'ailleurs d'autres corollaires (insertion, déplacement..). C'est un peu contaignant.
2eme solution: écrire un petit programme VBA
Set CollControls = Application.CommandBars.FindControls(ID:7)
For I = 1 To CollControls.Count CollControls(I).Enabled = false Next
ce qui invalidera la seule commande "supprimer" du menu Popup qui abrite cette commande.Attention, est valable tout le temps de la session et pour tous les ficheris ouverts durant celle-ci. Pour ne la réserver qu'à un seul fichier , il faut gérer l'evenement Workbook_Deactivate et Workbook_activate du présent fichier. Ne résoud cependant pas le problème d'un petit malin qui connait VBA et qui pourrait la revalider mais c'est quand même pas forcément féquent.
A+
Bonjour,
je ne comprends pas bien ton affaire de UserInterfaceOnly , étant
entendu que ce paramètre s'applique à une protection de feuille et non
de classeur.
Ceci dit, pour trouver tous les ID des controles , je te conseille soit
le site de Frédéric Sigonneau à la rubrique BO soit de mémoire sur
Excelabo où des procédures de détermination de tous les controles
existent. Tu trouveras sans peine ton bonheur.
A+
Bonjour,
La présente question fait référence à une réponse qui avait déjà été rendue
par AnonymousA plus tôt cet été (cette réponse figure au bas).
Je voudrais parvenir à invalider les suppression, ajout, déplacement et
renommage de feuilles (déjà protégées) dans un classeur. Cependant, je ne
peux me servir du module de protection classeur parce que j'ai des procédures
qui elles doivent pouvoir le faire librement. À ma grande surprise, la
méthode UserInterfaceOnly empêche ces opérations même si elles viennent de
mon code VBA.
La seule option qu'il me reste est-elle la 2ième solution d'AnonymousA ? Et
dans le cas où la réponse serait "oui", quelqu'un peut-il m'indiquer où
trouver les autres numéro de ID controls qui correspondent aux insertion,
renommage et déplacement (pas seulement la suppression #847).
Aussi, ai-je bien compris qu'il n'y a nul besoin de ré-autoriser ces
commandes en événement Worbook Before Close ? le prochain fichier ouvert
retrouverait automatiquement ces commandes ?
Merci bien de m'éclairer.
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
bonjour,
2 solutions possibles:
la 1ere, protéger le classeur ce qui empêchera la suppression des feuilles
mais aussi d'ailleurs d'autres corollaires (insertion, déplacement..). C'est
un peu contaignant.
2eme solution: écrire un petit programme VBA
Set CollControls = Application.CommandBars.FindControls(ID:7)
For I = 1 To CollControls.Count
CollControls(I).Enabled = false
Next
ce qui invalidera la seule commande "supprimer" du menu Popup qui abrite
cette commande.Attention, est valable tout le temps de la session et pour
tous les ficheris ouverts durant celle-ci. Pour ne la réserver qu'à un seul
fichier , il faut gérer l'evenement Workbook_Deactivate et Workbook_activate
du présent fichier.
Ne résoud cependant pas le problème d'un petit malin qui connait VBA et qui
pourrait la revalider mais c'est quand même pas forcément féquent.
je ne comprends pas bien ton affaire de UserInterfaceOnly , étant entendu que ce paramètre s'applique à une protection de feuille et non de classeur. Ceci dit, pour trouver tous les ID des controles , je te conseille soit le site de Frédéric Sigonneau à la rubrique BO soit de mémoire sur Excelabo où des procédures de détermination de tous les controles existent. Tu trouveras sans peine ton bonheur.
A+
Bonjour,
La présente question fait référence à une réponse qui avait déjà été rendue par AnonymousA plus tôt cet été (cette réponse figure au bas).
Je voudrais parvenir à invalider les suppression, ajout, déplacement et renommage de feuilles (déjà protégées) dans un classeur. Cependant, je ne peux me servir du module de protection classeur parce que j'ai des procédures qui elles doivent pouvoir le faire librement. À ma grande surprise, la méthode UserInterfaceOnly empêche ces opérations même si elles viennent de mon code VBA.
La seule option qu'il me reste est-elle la 2ième solution d'AnonymousA ? Et dans le cas où la réponse serait "oui", quelqu'un peut-il m'indiquer où trouver les autres numéro de ID controls qui correspondent aux insertion, renommage et déplacement (pas seulement la suppression #847).
Aussi, ai-je bien compris qu'il n'y a nul besoin de ré-autoriser ces commandes en événement Worbook Before Close ? le prochain fichier ouvert retrouverait automatiquement ces commandes ?
Merci bien de m'éclairer.
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
bonjour,
2 solutions possibles:
la 1ere, protéger le classeur ce qui empêchera la suppression des feuilles mais aussi d'ailleurs d'autres corollaires (insertion, déplacement..). C'est un peu contaignant.
2eme solution: écrire un petit programme VBA
Set CollControls = Application.CommandBars.FindControls(ID:7)
For I = 1 To CollControls.Count CollControls(I).Enabled = false Next
ce qui invalidera la seule commande "supprimer" du menu Popup qui abrite cette commande.Attention, est valable tout le temps de la session et pour tous les ficheris ouverts durant celle-ci. Pour ne la réserver qu'à un seul fichier , il faut gérer l'evenement Workbook_Deactivate et Workbook_activate du présent fichier. Ne résoud cependant pas le problème d'un petit malin qui connait VBA et qui pourrait la revalider mais c'est quand même pas forcément féquent.
A+
Stéphan DuQuébec
Tu vois, c'est ce que je ne savais pas mais que j'ai appris hier, à ma grande tristesse (que le UserinterfaceOnly ne s'appliquait qu'à la protection de feuille et non de classeur).
Je me précipite sur le site de M. Sigonneau.
Merci !
Bonjour,
je ne comprends pas bien ton affaire de UserInterfaceOnly , étant entendu que ce paramètre s'applique à une protection de feuille et non de classeur. Ceci dit, pour trouver tous les ID des controles , je te conseille soit le site de Frédéric Sigonneau à la rubrique BO soit de mémoire sur Excelabo où des procédures de détermination de tous les controles existent. Tu trouveras sans peine ton bonheur.
A+
Bonjour,
La présente question fait référence à une réponse qui avait déjà été rendue par AnonymousA plus tôt cet été (cette réponse figure au bas).
Je voudrais parvenir à invalider les suppression, ajout, déplacement et renommage de feuilles (déjà protégées) dans un classeur. Cependant, je ne peux me servir du module de protection classeur parce que j'ai des procédures qui elles doivent pouvoir le faire librement. À ma grande surprise, la méthode UserInterfaceOnly empêche ces opérations même si elles viennent de mon code VBA.
La seule option qu'il me reste est-elle la 2ième solution d'AnonymousA ? Et dans le cas où la réponse serait "oui", quelqu'un peut-il m'indiquer où trouver les autres numéro de ID controls qui correspondent aux insertion, renommage et déplacement (pas seulement la suppression #847).
Aussi, ai-je bien compris qu'il n'y a nul besoin de ré-autoriser ces commandes en événement Worbook Before Close ? le prochain fichier ouvert retrouverait automatiquement ces commandes ?
Merci bien de m'éclairer.
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
bonjour,
2 solutions possibles:
la 1ere, protéger le classeur ce qui empêchera la suppression des feuilles mais aussi d'ailleurs d'autres corollaires (insertion, déplacement..). C'est un peu contaignant.
2eme solution: écrire un petit programme VBA
Set CollControls = Application.CommandBars.FindControls(ID:7)
For I = 1 To CollControls.Count CollControls(I).Enabled = false Next
ce qui invalidera la seule commande "supprimer" du menu Popup qui abrite cette commande.Attention, est valable tout le temps de la session et pour tous les ficheris ouverts durant celle-ci. Pour ne la réserver qu'à un seul fichier , il faut gérer l'evenement Workbook_Deactivate et Workbook_activate du présent fichier. Ne résoud cependant pas le problème d'un petit malin qui connait VBA et qui pourrait la revalider mais c'est quand même pas forcément féquent.
A+
Tu vois, c'est ce que je ne savais pas mais que j'ai appris hier, à ma
grande tristesse (que le UserinterfaceOnly ne s'appliquait qu'à la protection
de feuille et non de classeur).
Je me précipite sur le site de M. Sigonneau.
Merci !
Bonjour,
je ne comprends pas bien ton affaire de UserInterfaceOnly , étant
entendu que ce paramètre s'applique à une protection de feuille et non
de classeur.
Ceci dit, pour trouver tous les ID des controles , je te conseille soit
le site de Frédéric Sigonneau à la rubrique BO soit de mémoire sur
Excelabo où des procédures de détermination de tous les controles
existent. Tu trouveras sans peine ton bonheur.
A+
Bonjour,
La présente question fait référence à une réponse qui avait déjà été rendue
par AnonymousA plus tôt cet été (cette réponse figure au bas).
Je voudrais parvenir à invalider les suppression, ajout, déplacement et
renommage de feuilles (déjà protégées) dans un classeur. Cependant, je ne
peux me servir du module de protection classeur parce que j'ai des procédures
qui elles doivent pouvoir le faire librement. À ma grande surprise, la
méthode UserInterfaceOnly empêche ces opérations même si elles viennent de
mon code VBA.
La seule option qu'il me reste est-elle la 2ième solution d'AnonymousA ? Et
dans le cas où la réponse serait "oui", quelqu'un peut-il m'indiquer où
trouver les autres numéro de ID controls qui correspondent aux insertion,
renommage et déplacement (pas seulement la suppression #847).
Aussi, ai-je bien compris qu'il n'y a nul besoin de ré-autoriser ces
commandes en événement Worbook Before Close ? le prochain fichier ouvert
retrouverait automatiquement ces commandes ?
Merci bien de m'éclairer.
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
bonjour,
2 solutions possibles:
la 1ere, protéger le classeur ce qui empêchera la suppression des feuilles
mais aussi d'ailleurs d'autres corollaires (insertion, déplacement..). C'est
un peu contaignant.
2eme solution: écrire un petit programme VBA
Set CollControls = Application.CommandBars.FindControls(ID:7)
For I = 1 To CollControls.Count
CollControls(I).Enabled = false
Next
ce qui invalidera la seule commande "supprimer" du menu Popup qui abrite
cette commande.Attention, est valable tout le temps de la session et pour
tous les ficheris ouverts durant celle-ci. Pour ne la réserver qu'à un seul
fichier , il faut gérer l'evenement Workbook_Deactivate et Workbook_activate
du présent fichier.
Ne résoud cependant pas le problème d'un petit malin qui connait VBA et qui
pourrait la revalider mais c'est quand même pas forcément féquent.
Tu vois, c'est ce que je ne savais pas mais que j'ai appris hier, à ma grande tristesse (que le UserinterfaceOnly ne s'appliquait qu'à la protection de feuille et non de classeur).
Je me précipite sur le site de M. Sigonneau.
Merci !
Bonjour,
je ne comprends pas bien ton affaire de UserInterfaceOnly , étant entendu que ce paramètre s'applique à une protection de feuille et non de classeur. Ceci dit, pour trouver tous les ID des controles , je te conseille soit le site de Frédéric Sigonneau à la rubrique BO soit de mémoire sur Excelabo où des procédures de détermination de tous les controles existent. Tu trouveras sans peine ton bonheur.
A+
Bonjour,
La présente question fait référence à une réponse qui avait déjà été rendue par AnonymousA plus tôt cet été (cette réponse figure au bas).
Je voudrais parvenir à invalider les suppression, ajout, déplacement et renommage de feuilles (déjà protégées) dans un classeur. Cependant, je ne peux me servir du module de protection classeur parce que j'ai des procédures qui elles doivent pouvoir le faire librement. À ma grande surprise, la méthode UserInterfaceOnly empêche ces opérations même si elles viennent de mon code VBA.
La seule option qu'il me reste est-elle la 2ième solution d'AnonymousA ? Et dans le cas où la réponse serait "oui", quelqu'un peut-il m'indiquer où trouver les autres numéro de ID controls qui correspondent aux insertion, renommage et déplacement (pas seulement la suppression #847).
Aussi, ai-je bien compris qu'il n'y a nul besoin de ré-autoriser ces commandes en événement Worbook Before Close ? le prochain fichier ouvert retrouverait automatiquement ces commandes ?
Merci bien de m'éclairer.
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
bonjour,
2 solutions possibles:
la 1ere, protéger le classeur ce qui empêchera la suppression des feuilles mais aussi d'ailleurs d'autres corollaires (insertion, déplacement..). C'est un peu contaignant.
2eme solution: écrire un petit programme VBA
Set CollControls = Application.CommandBars.FindControls(ID:7)
For I = 1 To CollControls.Count CollControls(I).Enabled = false Next
ce qui invalidera la seule commande "supprimer" du menu Popup qui abrite cette commande.Attention, est valable tout le temps de la session et pour tous les ficheris ouverts durant celle-ci. Pour ne la réserver qu'à un seul fichier , il faut gérer l'evenement Workbook_Deactivate et Workbook_activate du présent fichier. Ne résoud cependant pas le problème d'un petit malin qui connait VBA et qui pourrait la revalider mais c'est quand même pas forcément féquent.