XL 2019 transformation automatique de caractère.

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
    10.5 KB · Affichages: 13

soan

XLDnaute Barbatruc
Inactif
Bonsoir Océane,

ton fichier en retour ; formules :

* en G2 : =UNICAR(9311+F2)

* en H2 : =UNICAR(10121+F2)

* en i2 : =UNICAR(10101+F2)

* j'ai étiré ces formules jusqu'en ligne 10.
* nombres 1 à 9 uniquement.


soan
 

Pièces jointes

  • Exo Océane.xlsx
    10.3 KB · Affichages: 16

Océane

XLDnaute Impliqué
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 .
 

soan

XLDnaute Barbatruc
Inactif
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

  • Océane Exo v2.xlsm
    15.9 KB · Affichages: 5

Océane

XLDnaute Impliqué
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.
 

soan

XLDnaute Barbatruc
Inactif
@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

  • Océane Exo v3.xlsm
    16.2 KB · Affichages: 4
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 249
Messages
2 086 600
Membres
103 256
dernier inscrit
Melomaniak