macro combinaison de ALT + un nombre

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Plom.bier

XLDnaute Nouveau
Bonjour à tous.
Je souhaiterais exécuter avec une macro une combinaison de la touche ALT et d'un nombre (par exemple pour insérer un caractère spécial), mais ce nombre peut être une variable provenant du classeur. J'ai tenté avec SendKeys, mais cela ne fonctionne pas.
Quelqu'un aurait-il une solution?
Merci d'avance.
 
Re : macro combinaison de ALT + un nombre

bonjour,

l'exemple ci-dessous prend la valeur de la cellule A1 et associe la procédure DEMO1 au raccourci clavier CTRL SHIFT n (où n est la valeur de A1)

Code:
Sub Create_Shortcut()
Dim lShortcutNumber As Long
Dim sShortcutKey As String
Dim vShortcutMacro As Variant


vShortcutMacro = "DEMO1"
lShortcutNumber = Range("A1").Value
sShortcutKey = "+^" & lShortcutNumber & ""  '"+^{b}"   +^ équivaut à CTRL SHIFT
Application.OnKey sShortcutKey, vShortcutMacro
End Sub
 

Pièces jointes

Re : macro combinaison de ALT + un nombre

Bonjour STephane et le forum.

Tout d'abord, merci de t'intéresser à mon problème, car je suis un débutant en VBA.
Je n'ai pas bien compris ton code, et je n'ai pas sans doute bien exprimé ma demande.
Je souhaitais utiliser une combinaison avec ALT et non CTRL+SHIFT et pour ce faire j'ai tenté de remplacer ^+ par %.
Je pense aussi avoir compris qu'il fallait appeler cette procédure, et qu'elle se désactivait en fermant le classeur (ça, j'aurais mis un petit bout de temps à y penser). Maintenant, comment utiliser le raccourci appelé (par exemple, avec 0200 en A1, en format texte bien sûr, pour appeler "ALT+0200" qui donne "È")?
Merci d'éclairer ma lanterne.
 
Re : macro combinaison de ALT + un nombre - caractères spéciaux ASCII

bonjour,

Tu cherches à écrire des caractères spéciaux ?

si c'est cela :
0°) tu peux chercher dans les anciens messages du forum
1°) si c'est ponctuel tu peux aller dans le menu de ruban Insertion, puis Symboles.
2°) tu peux aussi utiliser la fonction CAR peut être utilisée dans une formule.
Par exemple écrire en A1:
=car(ligne())
puis recopier la formule jusqu'à la ligne 255
 
Re : macro combinaison de ALT + un nombre

Bonsoir,

Merci pour cette réponse, qui en effet est très simple.
Ce n'était pas malgré tout le but attendu : je souhaitais écrire d'autres caractères : la formule CAR() n'est opérationnelle que de 1 à 255.
J'ai trouvé malgré tout la fonction ChrW() ,dont la plage s'étend de -32 768 à 65 535, et qui renvoie le caractère associé au code décimal du caractère, mais qui à ma connaissance n'existe pas en formule sur le tableur.
L'écriture a été un peu longue à analyser, et le tableur a failli planter,mais j'ai trouvé l'essentiel des caractères que je souhaitais garder. Je n'ai pas envoyé le fichier, il fait presque 2 Mo, mais voici le code:

Code:
Sub Test2()
Dim AL1
For AL1 = -32768 To 65535
 ActiveCell = ChrW(AL1)
 Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(1, 0)).Select
Next

End Sub

Merci malgré tout, et bonne nuit.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
102
Réponses
5
Affichages
472
  • Question Question
Microsoft 365 Vba
Réponses
3
Affichages
191
Réponses
10
Affichages
380
Retour