OVH Cloud OVH Cloud

format

3 réponses
Avatar
stéphane
Bonjour,

on m'a gentillement fourni la macro suivante pour que le=20
format d'une celleule change en fonction du nombre de=20
caract=E8re.

ependant je souhaiterais savoir comment je peux indiquer=20
un format (virgule, point, etc..) au lieu de couleur.

De plus je souhaite conn=EEtre une macro qui me permette de=20
s'ex=E9cuter automatiquement quand je change de cellule

Merci d'avance


Sub FormatCondi()
Dim i As Integer
Dim NbC As Integer
NbC =3D 0
For i =3D 1 To Len(Range("A1"))
If Mid(Range("A1"), i, 1) > "0" And Mid(Range("A1"),=20
i, 1) < "9" Then
NbC =3D NbC + 1
End If
Next
Select Case NbC
Case 7
Range("A1").Interior.ColorIndex =3D 3
Case 9
Range("A1").Interior.ColorIndex =3D 4
Case Else
Range("A1").Interior.ColorIndex =3D 2
End Select
End Sub

3 réponses

Avatar
AV
Pour que "ça le fasse" dans la plage A1:A10

Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal zz As Range)
If Intersect(zz, [A1:A10]) Is Nothing Then Exit Sub
x = Len(zz)
Application.EnableEvents = False
If x = 7 Then zz = Left(zz, 2) & "'" & Mid(zz, 3, 3) & "/" & Right(zz, 2)
If x = 9 Then zz = Left(zz, 2) & "'" & Mid(zz, 3, 3) & "/" & Mid(zz, 8, 2) & "'"
& Right(zz, 2)
Application.EnableEvents = True
End Sub

AV
Avatar
Jacky
Re..
L'exemple dans le fil du 24/09/04 15:57
Ne te convient pas ????

JJ

"stéphane" a écrit dans le message de
news:36ad01c4a2dc$ac2f43a0$
Bonjour,

on m'a gentillement fourni la macro suivante pour que le
format d'une celleule change en fonction du nombre de
caractère.

ependant je souhaiterais savoir comment je peux indiquer
un format (virgule, point, etc..) au lieu de couleur.

De plus je souhaite connître une macro qui me permette de
s'exécuter automatiquement quand je change de cellule

Merci d'avance


Sub FormatCondi()
Dim i As Integer
Dim NbC As Integer
NbC = 0
For i = 1 To Len(Range("A1"))
If Mid(Range("A1"), i, 1) > "0" And Mid(Range("A1"),
i, 1) < "9" Then
NbC = NbC + 1
End If
Next
Select Case NbC
Case 7
Range("A1").Interior.ColorIndex = 3
Case 9
Range("A1").Interior.ColorIndex = 4
Case Else
Range("A1").Interior.ColorIndex = 2
End Select
End Sub
Avatar
Il me convient parfaitement et c'est d^'ailleurs celui
que j'utilise.

mais ma curiosité m'a poussé à savoir comment je pouvais
faire si j'ai plus de 3 formats pour une cellule.

Merci encore
-----Message d'origine-----
Re..
L'exemple dans le fil du 24/09/04 15:57
Ne te convient pas ????

JJ

"stéphane" a écrit
dans le message de

news:36ad01c4a2dc$ac2f43a0$
Bonjour,

on m'a gentillement fourni la macro suivante pour que le
format d'une celleule change en fonction du nombre de
caractère.

ependant je souhaiterais savoir comment je peux indiquer
un format (virgule, point, etc..) au lieu de couleur.

De plus je souhaite connître une macro qui me permette de
s'exécuter automatiquement quand je change de cellule

Merci d'avance


Sub FormatCondi()
Dim i As Integer
Dim NbC As Integer
NbC = 0
For i = 1 To Len(Range("A1"))
If Mid(Range("A1"), i, 1) > "0" And Mid(Range("A1"),
i, 1) < "9" Then
NbC = NbC + 1
End If
Next
Select Case NbC
Case 7
Range("A1").Interior.ColorIndex = 3
Case 9
Range("A1").Interior.ColorIndex = 4
Case Else
Range("A1").Interior.ColorIndex = 2
End Select
End Sub


.