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

XL 2019 transformation automatique de caractère.

  • Initiateur de la discussion Initiateur de la discussion Océane
  • 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 !

Océane

XLDnaute Impliqué
je cherche une police qui encercle mes nombres au fur et mesure de la frappe.
Exemple dans le fichier joint
Merci d'avance
 

Pièces jointes

  • 7.xlsx
    7.xlsx
    10.5 KB · Affichages: 17
Bonjour et merci
C'est dans la même cellule que je veux la transformation, mais cela n'est pas trop grave je m'en sorts avec un "copier coller valeur " dans la même cellule.
Ce qui faudrait c'est que çà dépasse le 20;
C'est pour marquer les semaines dans un calendrier .
 
Bonjour Océane, Deadpool,

1) à l'ouverture du fichier, la feuille est entièrement vide (c'est normal)

2) tout se passe en colonne A ; voici des exemples en A1 :

3) saisis un chiffre quelconque de 1 à 9

4)
idem que 3) mais saisis « n » après le chiffre ; exemple : 7n

5)
idem que 3) mais saisis « b » après le chiffre ; exemple : 7b



code VBA de "Feuil1" (15 lignes) :

VB:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim s$, v%, k%
  With Target
    If .CountLarge > 1 Then Exit Sub
    If .Column <> 1 Then Exit Sub
    s = .Value: v = Val(s): If v < 1 Or v > 9 Then Exit Sub
    s = Right$(s, 1): .Font.Size = 12 - (s = "b") * 6
    k = 9311 - (s = "n") * 790 - (s = "b") * 810 + v
    Application.EnableEvents = 0
    .Value = Evaluate("=UNICHAR(" & k & ")")
    Application.EnableEvents = -1
  End With
End Sub

soan
 

Pièces jointes

cela fonctionne bien jusqu’au chiffre 7 mais pas au delà.
L’inconvénient de cette solution est qu'il faut que je spécialise une colonne.
je voudrais que la formule s'applique a une cellule bien déterminée, comme la solution de Dranreb mais de 0 à 52 minimum.
 
@Océane (ou Pierre)

1) regarde la présentation de "Feuil1"

2) en B1 : saisis un nombre de 1 à 20

3)
pour ton « de 0 à 52 minimum » :

* la semaine n° 0 n'existe pas ! 😁 ça serait donc entre 1 et 52 ! (bornes incluses)



code VBA de "Feuil1" (13 lignes)

VB:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim v%
  With Target
    If .CountLarge > 1 Then Exit Sub
    If .Address(0, 0) <> "B1" Then Exit Sub
    v = Val(.Value): If v < 1 Or v > 20 Then Exit Sub
    Application.EnableEvents = 0
    .Value = Evaluate("=UNICHAR(" & 9311 + v & ")")
    Application.EnableEvents = -1
  End With
End Sub

soan
 

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

Réponses
10
Affichages
448
Réponses
11
Affichages
297
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…