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 !
bonjour,
j'espère que c'est bien la transformation du caractère dans une autre cellule que tu veux et non pas dans la cellule ou tu es en tain de saisir 🙂
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 .
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
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.
* 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
- 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