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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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
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
Re..
L'exemple dans le fil du 24/09/04 15:57
Ne te convient pas ????
JJ
"stéphane" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:36ad01c4a2dc$ac2f43a0$a601280a@phx.gbl...
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
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
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
.
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" <anonymous@discussions.microsoft.com> a écrit
dans le message de
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
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