Raccourci clacvier acteur

  • Initiateur de la discussion Initiateur de la discussion anthoYS
  • Date de début Date de début

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 !

anthoYS

XLDnaute Barbatruc
Bonjour,

Je veut savoir s'il est possible par l'instauration d'une macro de faire que sur la cellule active (curseur sur B3 par exemple), en appuyant un raccourci donnée (Ctrl+ M), souligne simplement le dernier caractère.

Merci, voyez les fichiers joints avec l'explication du résultat souhaité (2 captures d'écrans).



Bonne fin de journée et à bientôt!
 

Pièces jointes

  • Step1lDK.jpg
    Step1lDK.jpg
    44.8 KB · Affichages: 40
  • Step2IDK.jpg
    Step2IDK.jpg
    24.3 KB · Affichages: 35
Re : Raccourci clacvier acteur

Bonjour AnthoYS

Oui, c'est possible.

Par exemple avec le code ci-dessous

Code:
Sub Proposition()
    
   If ActiveCell.Address = "$B$3" Then
       With ActiveCell.Characters(Start:=Len([B3]), Length:=1).Font
           .Underline = xlUnderlineStyleSingle
       End With
   End If
   
End Sub

Ensuite, il te suffit juste de dire à Excel de déclencher cette macro lorsqu'on appui sur "Ctrl" + "M".

Bon samedi

Edition : bonjour Job75. Réponse complémentaire sans le savoir, on fait une sacré équipe! 🙂
 
Re : Raccourci clacvier acteur

Bonjour le fil,

En me relisant, j'ai vu que j'avais trop délayé!

Voici un code plus court faisant pareil :
Code:
Sub Proposition()
    
   If ActiveCell.Address = "$B$3" Then [B3].Characters(Start:=Len([B3]), Length:=1).Font.Underline = xlUnderlineStyleSingle
   
End Sub

Bonne fin d'après midi
 
Re : Raccourci clacvier acteur

Re,

Merci Excel-lent,

J'ai une autre requête,

Je souhaite savoir dans le droit fil de ce qui à été réalisé précédemment,

savoir, s'il est possible par macro de réaliser ce que je souhaite, c'est-à-dire souligner d'un trait deux caractères.

Voir le fichier joint qui présente ce que je souhaite précisément.
 

Pièces jointes

Re : Raccourci clacvier acteur

Bonsoir AnthoYs,

anthoYS à dit:
il est possible par macro de réaliser ce que je souhaite, c'est-à-dire souligner d'un trait deux caractères

Tu as bien fais de m'envoyer ton fichier, car ta question ne correspond pas à ton exemple!

Du moins pour les cas suivants :
-> E3 : X c c
-> E9 : X c c

Dans le premier cas, contrairement à ce que tu penses, tu ne souligne pas les deux derniers caractères, mais les TROIS derniers caractères!

Dans le second cas, contrairement à ce que tu penses, tu ne souligne pas les deux premiers caractères, mais les TROIS premiers caractères!

Car l'espace est un caractère à part entière!!!

Tu trouveras ci-joint la macro correspondant à chaque cas de figure!

Évidement, si tu le souhaite, on peut compliquer la macro pour qu'elle gère les espaces automatiquement! Du style : si parmis les deux derniers caractères, l'un d'eux est un espace, souligner les trois derniers caractères et ainsi de suite...

Après, tout dépend ce que tu veux exactement!

Voici ci-dessous le code utilisé dans mon précédent post expliqué en détail, pour t'aider à comprendre toutes ces nouvelles macro :

Code:
Sub LeDernierCaractére()
' Souligner le dernier caractére de la cellule sélectionnée
' et cela uniquement si la cellule sélectionnée est la cellule B3
   
   [COLOR="Blue"][B]If[/B] ActiveCell.Address = "$B$3"[/COLOR] [COLOR="Red"][B]Then[/B][/COLOR] [COLOR="YellowGreen"][I][B3].Characters[/I][/COLOR]([COLOR="Gray"][U]Start:=[/U][/COLOR]Len([B3]), [COLOR="SandyBrown"][I]Length:=[/I][/COLOR]1).Font.Underline = [COLOR="Red"]xlUnderlineStyleSingle[/COLOR]

End Sub

Si la cellule sélectionnée est la cellule B3 alors souligner d'un trait simple, les caractères inclus dans la cellule B3 à partir du ...ème caractère ...
Et à partir de ce caractére, souligner les x suivants caractères

Le code Len([B3]) signifie : nombre de caractères contenu dans la cellule B3. Bref c'est exactement la même chose que la formule
Code:
=nb.car(B3)
NB.CAR c'est le langage Excel en version formule
LEN c'est le langage Excel en version VBA

Avec ces explications, essaye de regarder mes différentes macros (ci-joint) et essaye de lire le code. C'est plus clair? Tu as compris les codes et mes explications?

A te lire
 

Pièces jointes

Dernière édition:
Re : Raccourci clacvier acteur

Bonjour (ou bonsoir),


Merci à toi en tout les cas pour toutes les pistes délivrés jusque là tu en déduiras que bien évidement c'est plus clair et que j'ai compris tes codes et explications.


Toutefois, un problème persiste, c'est que les macros ne sont exécutables qu'en B3.
Or, ceci était pour l'exemple, je souhaite qu'elles soient fonctionnelles quelle que soit la cellule active comme je le souligne encore une fois dans le fichier joint, que j'ai modifier à nouveau, de sorte que ce que je souhaite, apparaisse clairement.

@+
 

Pièces jointes

Dernière édition:
Re : Raccourci clacvier acteur

anthoYS à dit:
Je veut savoir s'il est possible par l'instauration d'une macro de faire que sur la cellule active (curseur sur B3 par exemple)

Oups! J'avais compris qu'il fallait que la macro s'exécute que si le curseur (ou cellule active) est B3, d'où mes différents code!

anthoYS à dit:
Toutefois, un problème persiste, c'est que les macros ne sont exécutables qu'en B3

Si tu veux qu'elles soient exécutable sur n'importe qu'elle cellule (celle active) :

Remplacer
Code:
Sub DernierCaractére()
' Macro de la dernière fois
' Souligner le dernier caractére de la cellule sélectionnée
' et cela uniquement si la cellule sélectionnée est la cellule B3
   
   [COLOR="Blue"]If ActiveCell.Address = "$B$3" Then [B3][/COLOR].Characters(Start:=Len([COLOR="Red"][B3][/COLOR]), Length:=1).Font.Underline = xlUnderlineStyleSingle

End Sub

Par :
Code:
Sub DernierCaractére()
' Macro de la dernière fois
' Souligner le dernier caractére de la cellule sélectionnée
' et cela uniquement si la cellule sélectionnée est la cellule B3
   
   [COLOR="Blue"]ActiveCell[/COLOR].Characters(Start:=Len([COLOR="Red"]ActiveCell[/COLOR]), Length:=1).Font.Underline = xlUnderlineStyleSingle

End Sub

Même logique pour toutes les autres macros!

Remplacer :
Code:
Sub TroisDernierCaractéres()
' Cas : E3
' Souligner les trois dernier caractéres de la cellule sélectionnée
' et cela uniquement si la cellule sélectionnée est la cellule B3
   
[COLOR="Gray"][B]   If ActiveCell.Address = "$B$3" Then [B3][/B][/COLOR].Characters(Start:=Len([COLOR="Orange"][B][B3][/B][/COLOR]) - 2, Length:=3).Font.Underline = xlUnderlineStyleSingle
   
End Sub

par :
Code:
Sub TroisDernierCaractéres()
' Cas : E3
' Souligner les trois dernier caractéres de la cellule sélectionnée
' et cela uniquement si la cellule sélectionnée est la cellule B3
   
[COLOR="Gray"][B]ActiveCell.[/B][/COLOR]Characters(Start:=Len([COLOR="Orange"][B]ActiveCell[/B][/COLOR]) - 2, Length:=3).Font.Underline = xlUnderlineStyleSingle
   
End Sub

Dans mes fichiers et celui que tu as mis, les macros sont sur la Feuil1, cela ne changera rien au fonctionnement du code, mais l'idéal serait de mettre les macros dans "module1" et non pas sur une des feuilles.

Bonne fin de soirée

PS. : les macros fonctionnent sur toutes les cellules de toutes tes feuilles. Si tu veux que les macros ne fonctionnent que sur une feuille spécifique, dis le, je modifierais en fonction.
 
Dernière édition:
Re : Raccourci clacvier acteur

Un grand merci à toi.

Encore un problème de paramétrage de deux macros.

Voir le fichier joint ou tout deviendra plus concret.

Bonne fin de journée et encore merci pour tout.

@ bientôt.
 

Pièces jointes

Dernière édition:
Re : Raccourci clacvier acteur

Bonsoir AnthoYS,

Concernant la ligne 15 de ton fichier : souligner les trois premiers caractères de la cellule active.

Le raccourci est censé être (cf. ligne 7 de ton fichier) : "Ctrl"+ "Maj" + "T"

Or ce raccourci est lié à la macro suivante :

Code:
Sub DernierCaractéreSimple()
' Macro de la dernière fois
' Souligner le dernier caractére de la cellule sélectionnée
   
   ActiveCell.Characters(Start:=Len(ActiveCell), Length:=1).Font.Underline = xlUnderlineStyleSingle

End Sub

Donc forcément, ça fonctionne moins bien 😀

Voici ci-joint ton fichier corrigé.

Bonne soirée
 

Pièces jointes

Re : Raccourci clacvier acteur

Re,

Oui, tu as parfaitement raison!!!!

Voici ci-joint, ton fichier normalement correctement complété!

A te lire

PS. : en faite, j'ai fais exprès de me tromper pour voir si tu verrais l'erreur et saurais la corriger 😀
puisque tu dis avoir compris le code 😉

(je me rattrape aux branches comme je peux 😀)
 

Pièces jointes

Dernière édition:
- 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

Retour