Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
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).
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! 🙂
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 B3alorssouligner 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?
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.
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.
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
- 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