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
MichDenis
Bonjour Defluc,
A ) le choix de la touche "Del" pour lui associé une autre fonction que celle qu'elle fait déjà peut être problématique ! Comment vas-tu supprimer un objet dans une feuille de calcul comme un rectangle par exemple, un graphe...? Pour affecter un raccourci clavier mieux vaut utiliser une combinaison de touche qui ne perturbera pas celle dont on utilise couramment comme : Ctrl + m . Si tu veux conserver "Del" c'est ton choix !
B ) Pour définir le raccourci clavier : (dans un module standard) '------------------------------------ Sub Raccouci_Clavier() Application.OnKey "{Del}", "EraseRange" End Sub '------------------------------------
C ) La procédure appelée par le raccourci clavier doit être placé dans un module standard : '--------------------------------- Sub EraseRange(Rg As Range) 'Efface le contenu Rg.Clear End Sub '---------------------------------
D ) Comme tu utilises "Target" qui est une variable utilisée par Excel dans ses macros événementielles, je suppose que la procédure est appelée par exemple par cet événement dans le module feuille à titre d'exemple : '---------------------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range) EraseRange Cells(Target.Row, Target.Column) End Sub '----------------------------------
E ) Pour enlever le raccourci clavier que l'on a créée : (Module Standard) '-------------------------------------- Sub Retour_à_la_Normale() Application.OnKey "{Del}" End Sub '--------------------------------------
F ) Pour limiter l'application de ce raccourci clavier qu'à un fichier en particulier - Dans le ThisWorkbook de ce classeur, on utilise les événements "Activate" et Desactivate comme ceci :
Private Sub Workbook_Activate() Raccouci_Clavier End Sub '------------------------------------- Private Sub Workbook_Deactivate() Retour_à_la_Normale End Sub '-------------------------------------
"defluc" a écrit dans le message de groupe de discussion :
Bonjour à toi lecteur
J'ai une procedure avec arguments nommée
Public Sub EraseRange(Plage as Range)
Je l'appelle sur l'évènement OnKey de la manière suivante :
Et l'exécution génère les message : «Impossible de trouver la macro 'EraseRange(Range.Cells(19, 8)'»
Je remercie d'avance celui qui pourra me dire comment écrire l'appel de la procédure avec ses arguments.
Bonjour Defluc,
A ) le choix de la touche "Del" pour lui associé une autre fonction
que celle qu'elle fait déjà peut être problématique ! Comment vas-tu
supprimer un objet dans une feuille de calcul comme un rectangle par
exemple, un graphe...? Pour affecter un raccourci clavier mieux vaut
utiliser une combinaison de touche qui ne perturbera pas celle dont
on utilise couramment comme : Ctrl + m . Si tu veux conserver "Del"
c'est ton choix !
B ) Pour définir le raccourci clavier : (dans un module standard)
'------------------------------------
Sub Raccouci_Clavier()
Application.OnKey "{Del}", "EraseRange"
End Sub
'------------------------------------
C ) La procédure appelée par le raccourci clavier doit être placé dans un module standard
:
'---------------------------------
Sub EraseRange(Rg As Range)
'Efface le contenu
Rg.Clear
End Sub
'---------------------------------
D ) Comme tu utilises "Target" qui est une variable utilisée par Excel dans ses macros
événementielles, je suppose que la procédure est appelée par exemple par cet événement
dans le module feuille à titre d'exemple :
'----------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
EraseRange Cells(Target.Row, Target.Column)
End Sub
'----------------------------------
E ) Pour enlever le raccourci clavier que l'on a créée : (Module Standard)
'--------------------------------------
Sub Retour_à_la_Normale()
Application.OnKey "{Del}"
End Sub
'--------------------------------------
F ) Pour limiter l'application de ce raccourci clavier qu'à un fichier en particulier
- Dans le ThisWorkbook de ce classeur, on utilise les événements "Activate"
et Desactivate comme ceci :
Private Sub Workbook_Activate()
Raccouci_Clavier
End Sub
'-------------------------------------
Private Sub Workbook_Deactivate()
Retour_à_la_Normale
End Sub
'-------------------------------------
"defluc" <defluc@scarlet.be> a écrit dans le message de groupe de discussion :
OKt93ml8JHA.3544@TK2MSFTNGP04.phx.gbl...
Bonjour à toi lecteur
J'ai une procedure avec arguments nommée
Public Sub EraseRange(Plage as Range)
Je l'appelle sur l'évènement OnKey de la manière suivante :
A ) le choix de la touche "Del" pour lui associé une autre fonction que celle qu'elle fait déjà peut être problématique ! Comment vas-tu supprimer un objet dans une feuille de calcul comme un rectangle par exemple, un graphe...? Pour affecter un raccourci clavier mieux vaut utiliser une combinaison de touche qui ne perturbera pas celle dont on utilise couramment comme : Ctrl + m . Si tu veux conserver "Del" c'est ton choix !
B ) Pour définir le raccourci clavier : (dans un module standard) '------------------------------------ Sub Raccouci_Clavier() Application.OnKey "{Del}", "EraseRange" End Sub '------------------------------------
C ) La procédure appelée par le raccourci clavier doit être placé dans un module standard : '--------------------------------- Sub EraseRange(Rg As Range) 'Efface le contenu Rg.Clear End Sub '---------------------------------
D ) Comme tu utilises "Target" qui est une variable utilisée par Excel dans ses macros événementielles, je suppose que la procédure est appelée par exemple par cet événement dans le module feuille à titre d'exemple : '---------------------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range) EraseRange Cells(Target.Row, Target.Column) End Sub '----------------------------------
E ) Pour enlever le raccourci clavier que l'on a créée : (Module Standard) '-------------------------------------- Sub Retour_à_la_Normale() Application.OnKey "{Del}" End Sub '--------------------------------------
F ) Pour limiter l'application de ce raccourci clavier qu'à un fichier en particulier - Dans le ThisWorkbook de ce classeur, on utilise les événements "Activate" et Desactivate comme ceci :
Private Sub Workbook_Activate() Raccouci_Clavier End Sub '------------------------------------- Private Sub Workbook_Deactivate() Retour_à_la_Normale End Sub '-------------------------------------
"defluc" a écrit dans le message de groupe de discussion :
Bonjour à toi lecteur
J'ai une procedure avec arguments nommée
Public Sub EraseRange(Plage as Range)
Je l'appelle sur l'évènement OnKey de la manière suivante :
Et l'exécution génère les message : «Impossible de trouver la macro 'EraseRange(Range.Cells(19, 8)'»
Je remercie d'avance celui qui pourra me dire comment écrire l'appel de la procédure avec ses arguments.
defluc
Cela ne répond pas à ma question qui est de savoir comment passer les arguments nécessaire à la procédure «EraseRange» dans l'instruction Application.OnKey "{Del}", "EraseRange"
MichDenis a écrit :
Bonjour Defluc,
A ) le choix de la touche "Del" pour lui associé une autre fonction que celle qu'elle fait déjà peut être problématique ! Comment vas-tu supprimer un objet dans une feuille de calcul comme un rectangle par exemple, un graphe...? Pour affecter un raccourci clavier mieux vaut utiliser une combinaison de touche qui ne perturbera pas celle dont on utilise couramment comme : Ctrl + m . Si tu veux conserver "Del" c'est ton choix !
B ) Pour définir le raccourci clavier : (dans un module standard) '------------------------------------ Sub Raccouci_Clavier() Application.OnKey "{Del}", "EraseRange" End Sub '------------------------------------
C ) La procédure appelée par le raccourci clavier doit être placé dans un module standard : '--------------------------------- Sub EraseRange(Rg As Range) 'Efface le contenu Rg.Clear End Sub '---------------------------------
D ) Comme tu utilises "Target" qui est une variable utilisée par Excel dans ses macros événementielles, je suppose que la procédure est appelée par exemple par cet événement dans le module feuille à titre d'exemple : '---------------------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range) EraseRange Cells(Target.Row, Target.Column) End Sub '----------------------------------
E ) Pour enlever le raccourci clavier que l'on a créée : (Module Standard) '-------------------------------------- Sub Retour_à_la_Normale() Application.OnKey "{Del}" End Sub '--------------------------------------
F ) Pour limiter l'application de ce raccourci clavier qu'à un fichier en particulier - Dans le ThisWorkbook de ce classeur, on utilise les événements "Activate" et Desactivate comme ceci :
Private Sub Workbook_Activate() Raccouci_Clavier End Sub '------------------------------------- Private Sub Workbook_Deactivate() Retour_à_la_Normale End Sub '-------------------------------------
"defluc" a écrit dans le message de groupe de discussion :
Bonjour à toi lecteur
J'ai une procedure avec arguments nommée
Public Sub EraseRange(Plage as Range)
Je l'appelle sur l'évènement OnKey de la manière suivante :
Et l'exécution génère les message : «Impossible de trouver la macro 'EraseRange(Range.Cells(19, 8)'»
Je remercie d'avance celui qui pourra me dire comment écrire l'appel de la procédure avec ses arguments.
Cela ne répond pas à ma question qui est de savoir comment passer les
arguments nécessaire à la procédure «EraseRange» dans l'instruction
Application.OnKey "{Del}", "EraseRange"
MichDenis a écrit :
Bonjour Defluc,
A ) le choix de la touche "Del" pour lui associé une autre fonction
que celle qu'elle fait déjà peut être problématique ! Comment vas-tu
supprimer un objet dans une feuille de calcul comme un rectangle par
exemple, un graphe...? Pour affecter un raccourci clavier mieux vaut
utiliser une combinaison de touche qui ne perturbera pas celle dont
on utilise couramment comme : Ctrl + m . Si tu veux conserver "Del"
c'est ton choix !
B ) Pour définir le raccourci clavier : (dans un module standard)
'------------------------------------
Sub Raccouci_Clavier()
Application.OnKey "{Del}", "EraseRange"
End Sub
'------------------------------------
C ) La procédure appelée par le raccourci clavier doit être placé dans un module standard
:
'---------------------------------
Sub EraseRange(Rg As Range)
'Efface le contenu
Rg.Clear
End Sub
'---------------------------------
D ) Comme tu utilises "Target" qui est une variable utilisée par Excel dans ses macros
événementielles, je suppose que la procédure est appelée par exemple par cet événement
dans le module feuille à titre d'exemple :
'----------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
EraseRange Cells(Target.Row, Target.Column)
End Sub
'----------------------------------
E ) Pour enlever le raccourci clavier que l'on a créée : (Module Standard)
'--------------------------------------
Sub Retour_à_la_Normale()
Application.OnKey "{Del}"
End Sub
'--------------------------------------
F ) Pour limiter l'application de ce raccourci clavier qu'à un fichier en particulier
- Dans le ThisWorkbook de ce classeur, on utilise les événements "Activate"
et Desactivate comme ceci :
Private Sub Workbook_Activate()
Raccouci_Clavier
End Sub
'-------------------------------------
Private Sub Workbook_Deactivate()
Retour_à_la_Normale
End Sub
'-------------------------------------
"defluc" <defluc@scarlet.be> a écrit dans le message de groupe de discussion :
OKt93ml8JHA.3544@TK2MSFTNGP04.phx.gbl...
Bonjour à toi lecteur
J'ai une procedure avec arguments nommée
Public Sub EraseRange(Plage as Range)
Je l'appelle sur l'évènement OnKey de la manière suivante :
Cela ne répond pas à ma question qui est de savoir comment passer les arguments nécessaire à la procédure «EraseRange» dans l'instruction Application.OnKey "{Del}", "EraseRange"
MichDenis a écrit :
Bonjour Defluc,
A ) le choix de la touche "Del" pour lui associé une autre fonction que celle qu'elle fait déjà peut être problématique ! Comment vas-tu supprimer un objet dans une feuille de calcul comme un rectangle par exemple, un graphe...? Pour affecter un raccourci clavier mieux vaut utiliser une combinaison de touche qui ne perturbera pas celle dont on utilise couramment comme : Ctrl + m . Si tu veux conserver "Del" c'est ton choix !
B ) Pour définir le raccourci clavier : (dans un module standard) '------------------------------------ Sub Raccouci_Clavier() Application.OnKey "{Del}", "EraseRange" End Sub '------------------------------------
C ) La procédure appelée par le raccourci clavier doit être placé dans un module standard : '--------------------------------- Sub EraseRange(Rg As Range) 'Efface le contenu Rg.Clear End Sub '---------------------------------
D ) Comme tu utilises "Target" qui est une variable utilisée par Excel dans ses macros événementielles, je suppose que la procédure est appelée par exemple par cet événement dans le module feuille à titre d'exemple : '---------------------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range) EraseRange Cells(Target.Row, Target.Column) End Sub '----------------------------------
E ) Pour enlever le raccourci clavier que l'on a créée : (Module Standard) '-------------------------------------- Sub Retour_à_la_Normale() Application.OnKey "{Del}" End Sub '--------------------------------------
F ) Pour limiter l'application de ce raccourci clavier qu'à un fichier en particulier - Dans le ThisWorkbook de ce classeur, on utilise les événements "Activate" et Desactivate comme ceci :
Private Sub Workbook_Activate() Raccouci_Clavier End Sub '------------------------------------- Private Sub Workbook_Deactivate() Retour_à_la_Normale End Sub '-------------------------------------
"defluc" a écrit dans le message de groupe de discussion :
Bonjour à toi lecteur
J'ai une procedure avec arguments nommée
Public Sub EraseRange(Plage as Range)
Je l'appelle sur l'évènement OnKey de la manière suivante :
Et l'exécution génère les message : «Impossible de trouver la macro 'EraseRange(Range.Cells(19, 8)'»
Je remercie d'avance celui qui pourra me dire comment écrire l'appel de la procédure avec ses arguments.
MichDenis
| Cela ne répond pas à ma question qui est de savoir comment passer les | arguments nécessaire à la procédure «EraseRange» dans l'instruction | Application.OnKey "{Del}", "EraseRange"
Les seules arguments de la méthode "OnKey" sont : A ) le raccourci (combinaison ou touches visées) B ) la macro à exécuter lorsque l'usager utilise les touches
Si tu veux que Microsoft ajoute des arguments supplémentaires, pourquoi ne pas lui adresser ta requête directement ?
L'exemple que tu as reçu est complet, tu n'as qu'à copier les petites procédures soit dans un module standard, le ThisWorkbook ou un module feuille comme il est suggéré dans mon message précédent.
| Cela ne répond pas à ma question qui est de savoir comment passer les
| arguments nécessaire à la procédure «EraseRange» dans l'instruction
| Application.OnKey "{Del}", "EraseRange"
Les seules arguments de la méthode "OnKey" sont :
A ) le raccourci (combinaison ou touches visées)
B ) la macro à exécuter lorsque l'usager utilise les touches
Si tu veux que Microsoft ajoute des arguments supplémentaires,
pourquoi ne pas lui adresser ta requête directement ?
L'exemple que tu as reçu est complet, tu n'as qu'à copier les petites
procédures soit dans un module standard, le ThisWorkbook ou un
module feuille comme il est suggéré dans mon message précédent.
| Cela ne répond pas à ma question qui est de savoir comment passer les | arguments nécessaire à la procédure «EraseRange» dans l'instruction | Application.OnKey "{Del}", "EraseRange"
Les seules arguments de la méthode "OnKey" sont : A ) le raccourci (combinaison ou touches visées) B ) la macro à exécuter lorsque l'usager utilise les touches
Si tu veux que Microsoft ajoute des arguments supplémentaires, pourquoi ne pas lui adresser ta requête directement ?
L'exemple que tu as reçu est complet, tu n'as qu'à copier les petites procédures soit dans un module standard, le ThisWorkbook ou un module feuille comme il est suggéré dans mon message précédent.