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: 16
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
291
Réponses
3
Affichages
710
Retour