Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

macro combinaison de ALT + un nombre

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.
 

STephane

XLDnaute Occasionnel
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

  • xld-236872-macro-combinaison-de-alt-un-nombre.xlsm
    18.2 KB · Affichages: 20

Plom.bier

XLDnaute Nouveau
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.
 

STephane

XLDnaute Occasionnel
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
 

Plom.bier

XLDnaute Nouveau
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.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…