Bonjour
Premier post pour ma part ici, habituellement, je me contente de rechercher la solution à mon problème. C'est pour vous dire! Sinon je suis peut-être un 6 sur 10 en vba et un 7 en Excel selon mon classement personnel... Ça reste discutable mais ce n'est pas le sujet...
Voici mon problème : je veux attribuer au bouton delete du clavier d'autre possibilité. Normalement ce bouton efface le contenu de la cellule. Je veux qu'en plus, il efface de commentaire et change la mise en forme de la cellule. J'ai très bien réussi à faire une macro qui fait cela mais je ne peux que l'associer à une image crée dans la feuille.
Si je l'affecte à la commande delete, la macro s'exécute sur tous les classeurs ouverts, ce que je ne veux pas!
Dans Module1, ma macro de formatage de la cellule:
Ensuite va la formule qui modifie l'action du bouton Delete. Je l'ai essayée dans "Thisworkbook" sans succès.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Sub del_comm() With ActiveCell .ClearComments 'Ici serait placé le code de formatage, je ne le mettrai pas pour alléger le code End With End Sub
Si je met ce même code dans l'objet "feuille1", ça fonctionne mais pour tous les classeurs ouverts, ce que je ne veux pas. De plus, la nouvelle fonction attribuée au bouton delete reste active même lorsque le classeur qui la contient est fermé... C'est très désagréable...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Application.OnKey "{delete}", "del_comm" End Sub
En fait, je sais très bien comment me servir de la fonction "onkey", et pour l'instant, la macro de formatage de la cellule fonctionne et je l'ai attribuée a une image sur ma feuille de travail. L'aide que j'ai besoin se trouve au niveau de l'exclusivité de la modification de la touche delete. Il faut qu'elle soit modifiée juste pour un seul et unique classeur.PRÉCISION
Si je résume, je veux attribuer une action autre que celle d'origine à une touche du clavier. Par exemple la touche "t" exécute le "t" mais en plus rajoute les lettres "sss" Ce qui donnerait: "tsss" à chaque fois que j'appuie sur le "t".
Par contre, je veux que ça ce fasse automatiquement et seulement sur un classeur spécifique, sur toutes les feuilles de ce classeur.
L'exemple ci-dessus est volontairement farfelue, je ne veux pas savoir comment créer une fonction delete, je veux savoir comment attribuer cette fonction seulement au classeur qui la contient.
Ce classeur comporte déjà les macro suivantes.
-un mot de passe géré par macro qui attribue des possibilités spéciales à celui qui le possède ( effacer le contenu, copier-coller, déroulement de la feuille)
-Bouton qui gère les commentaires qui peuvent être mis dans les cellules avec l'heure et incrémentation des commentaires
-sauvegarde incrémentielle lors de modification par l'usager...
Merci!
Partager