....de sorte que quelque soit la cellule.....
Un peu plus d'explication pour mon neurone stp
Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage avec 2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien faire..
les cellules en question se trouve sur les colonnes H:H, B:B, N:N, H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
....de sorte que quelque soit la cellule.....
Un peu plus d'explication pour mon neurone stp
Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage avec 2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien faire..
les cellules en question se trouve sur les colonnes H:H, B:B, N:N, H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
....de sorte que quelque soit la cellule.....
Un peu plus d'explication pour mon neurone stp
Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage avec 2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien faire..
les cellules en question se trouve sur les colonnes H:H, B:B, N:N, H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage avec 2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien faire..
les cellules en question se trouve sur les colonnes H:H, B:B, N:N, H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage avec 2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien faire..
les cellules en question se trouve sur les colonnes H:H, B:B, N:N, H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage avec 2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien faire..
les cellules en question se trouve sur les colonnes H:H, B:B, N:N, H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
Bonsoir.
Je suppose que par "Range("I59:I59")", tu entends Range("I59:L59").
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "0.00%"
Else
Range("I59:L59").NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de news:Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage avec 2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien faire..
les cellules en question se trouve sur les colonnes H:H, B:B, N:N, H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
Bonsoir.
Je suppose que par "Range("I59:I59")", tu entends Range("I59:L59").
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "0.00%"
Else
Range("I59:L59").NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" <ALF@discussions.microsoft.com> a écrit dans le message de news:
4873F8DF-73C9-40C3-9B58-8A2EB572F3CB@microsoft.com...
Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage avec 2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien faire..
les cellules en question se trouve sur les colonnes H:H, B:B, N:N, H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
Bonsoir.
Je suppose que par "Range("I59:I59")", tu entends Range("I59:L59").
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "0.00%"
Else
Range("I59:L59").NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de news:Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage avec 2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien faire..
les cellules en question se trouve sur les colonnes H:H, B:B, N:N, H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
bonsoir,
merci daniel ,mais je me suis mal expliqué sur la fin...
en fait j'aimerais que quelquesoit la cellule situé sur les colonnes que
j'ai cité,le format s'applique alors sur les 4 cellules à droite de cette
cellule cible..
c'est a dire si cellule = H15="Taux de recouvres" alors mettre le format
pourcentage sur H15:K15..
target ne doit s'appliquer que sur Les colonnes H:H, B:B, N:N, H:H, Q:Q,
I:I....
merci encore
--
ALFBonsoir.
Je suppose que par "Range("I59:I59")", tu entends Range("I59:L59").
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "0.00%"
Else
Range("I59:L59").NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de news:Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage avec 2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien faire..
les cellules en question se trouve sur les colonnes H:H, B:B, N:N, H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
bonsoir,
merci daniel ,mais je me suis mal expliqué sur la fin...
en fait j'aimerais que quelquesoit la cellule situé sur les colonnes que
j'ai cité,le format s'applique alors sur les 4 cellules à droite de cette
cellule cible..
c'est a dire si cellule = H15="Taux de recouvres" alors mettre le format
pourcentage sur H15:K15..
target ne doit s'appliquer que sur Les colonnes H:H, B:B, N:N, H:H, Q:Q,
I:I....
merci encore
--
ALF
Bonsoir.
Je suppose que par "Range("I59:I59")", tu entends Range("I59:L59").
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "0.00%"
Else
Range("I59:L59").NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" <ALF@discussions.microsoft.com> a écrit dans le message de news:
4873F8DF-73C9-40C3-9B58-8A2EB572F3CB@microsoft.com...
Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage avec 2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien faire..
les cellules en question se trouve sur les colonnes H:H, B:B, N:N, H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
bonsoir,
merci daniel ,mais je me suis mal expliqué sur la fin...
en fait j'aimerais que quelquesoit la cellule situé sur les colonnes que
j'ai cité,le format s'applique alors sur les 4 cellules à droite de cette
cellule cible..
c'est a dire si cellule = H15="Taux de recouvres" alors mettre le format
pourcentage sur H15:K15..
target ne doit s'appliquer que sur Les colonnes H:H, B:B, N:N, H:H, Q:Q,
I:I....
merci encore
--
ALFBonsoir.
Je suppose que par "Range("I59:I59")", tu entends Range("I59:L59").
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "0.00%"
Else
Range("I59:L59").NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de news:Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage avec 2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien faire..
les cellules en question se trouve sur les colonnes H:H, B:B, N:N, H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
Bonjour.
Je n'ai pas compris la séquence des colonnes à impliquer. Je n'ai pris que
les colonnes B, H, I, N et Q (les points de suspension semblent indiquer
qu'il y en a d'autres).
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Union(Range("B:B"), Range("H:H"), Range("I:I"), _
Range("N:N"), Range("Q:Q"))) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range(Target, Target.Offset(0, 4)).NumberFormat = "0.00%"
Else
Range(Target, Target.Offset(0, 4)).NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de news:bonsoir,
merci daniel ,mais je me suis mal expliqué sur la fin...
en fait j'aimerais que quelquesoit la cellule situé sur les colonnes que
j'ai cité,le format s'applique alors sur les 4 cellules à droite de cette
cellule cible..
c'est a dire si cellule = H15="Taux de recouvres" alors mettre le format
pourcentage sur H15:K15..
target ne doit s'appliquer que sur Les colonnes H:H, B:B, N:N, H:H, Q:Q,
I:I....
merci encore
--
ALFBonsoir.
Je suppose que par "Range("I59:I59")", tu entends Range("I59:L59").
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "0.00%"
Else
Range("I59:L59").NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de news:Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage avec 2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien faire..
les cellules en question se trouve sur les colonnes H:H, B:B, N:N, H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
Bonjour.
Je n'ai pas compris la séquence des colonnes à impliquer. Je n'ai pris que
les colonnes B, H, I, N et Q (les points de suspension semblent indiquer
qu'il y en a d'autres).
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Union(Range("B:B"), Range("H:H"), Range("I:I"), _
Range("N:N"), Range("Q:Q"))) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range(Target, Target.Offset(0, 4)).NumberFormat = "0.00%"
Else
Range(Target, Target.Offset(0, 4)).NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" <ALF@discussions.microsoft.com> a écrit dans le message de news:
DC7AD140-8018-404B-BB22-1ABDF5144DE4@microsoft.com...
bonsoir,
merci daniel ,mais je me suis mal expliqué sur la fin...
en fait j'aimerais que quelquesoit la cellule situé sur les colonnes que
j'ai cité,le format s'applique alors sur les 4 cellules à droite de cette
cellule cible..
c'est a dire si cellule = H15="Taux de recouvres" alors mettre le format
pourcentage sur H15:K15..
target ne doit s'appliquer que sur Les colonnes H:H, B:B, N:N, H:H, Q:Q,
I:I....
merci encore
--
ALF
Bonsoir.
Je suppose que par "Range("I59:I59")", tu entends Range("I59:L59").
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "0.00%"
Else
Range("I59:L59").NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" <ALF@discussions.microsoft.com> a écrit dans le message de news:
4873F8DF-73C9-40C3-9B58-8A2EB572F3CB@microsoft.com...
Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage avec 2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien faire..
les cellules en question se trouve sur les colonnes H:H, B:B, N:N, H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
Bonjour.
Je n'ai pas compris la séquence des colonnes à impliquer. Je n'ai pris que
les colonnes B, H, I, N et Q (les points de suspension semblent indiquer
qu'il y en a d'autres).
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Union(Range("B:B"), Range("H:H"), Range("I:I"), _
Range("N:N"), Range("Q:Q"))) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range(Target, Target.Offset(0, 4)).NumberFormat = "0.00%"
Else
Range(Target, Target.Offset(0, 4)).NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de news:bonsoir,
merci daniel ,mais je me suis mal expliqué sur la fin...
en fait j'aimerais que quelquesoit la cellule situé sur les colonnes que
j'ai cité,le format s'applique alors sur les 4 cellules à droite de cette
cellule cible..
c'est a dire si cellule = H15="Taux de recouvres" alors mettre le format
pourcentage sur H15:K15..
target ne doit s'appliquer que sur Les colonnes H:H, B:B, N:N, H:H, Q:Q,
I:I....
merci encore
--
ALFBonsoir.
Je suppose que par "Range("I59:I59")", tu entends Range("I59:L59").
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "0.00%"
Else
Range("I59:L59").NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de news:Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage avec 2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien faire..
les cellules en question se trouve sur les colonnes H:H, B:B, N:N, H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
Re,
merci pour le code mais j'avais deja Private Sub Worksheet_Change occupé
par une procedure..je l'ai donc rajouté a celle ci..
mais cela ne fonctionne pas..
je te laisse ci joint celle ci:(j'ai scindé en 2 Intersect(...) car en
fait
s'il s'agit de la colonne I les cellules a atteindre sont sur les
colonnes R
à U.
s'il s'agit de la colonne N les cellules a atteindre sont sur les
colonnes
R à V
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges", "Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat = "General"
End If
If Intersect(Target, Range("I:I")) Is Nothing Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat = "General"
End If
Application.EnableEvents = True
End Sub--
Merci.
ALFBonjour.
Je n'ai pas compris la séquence des colonnes à impliquer. Je n'ai pris
que
les colonnes B, H, I, N et Q (les points de suspension semblent indiquer
qu'il y en a d'autres).
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Union(Range("B:B"), Range("H:H"), Range("I:I"),
_
Range("N:N"), Range("Q:Q"))) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range(Target, Target.Offset(0, 4)).NumberFormat = "0.00%"
Else
Range(Target, Target.Offset(0, 4)).NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de news:bonsoir,
merci daniel ,mais je me suis mal expliqué sur la fin...
en fait j'aimerais que quelquesoit la cellule situé sur les colonnes
que
j'ai cité,le format s'applique alors sur les 4 cellules à droite de
cette
cellule cible..
c'est a dire si cellule = H15="Taux de recouvres" alors mettre le
format
pourcentage sur H15:K15..
target ne doit s'appliquer que sur Les colonnes H:H, B:B, N:N, H:H,
Q:Q,
I:I....
merci encore
--
ALFBonsoir.
Je suppose que par "Range("I59:I59")", tu entends Range("I59:L59").
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "0.00%"
Else
Range("I59:L59").NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de news:Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la
cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage avec
2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien
faire..
les cellules en question se trouve sur les colonnes H:H, B:B, N:N,
H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
Re,
merci pour le code mais j'avais deja Private Sub Worksheet_Change occupé
par une procedure..je l'ai donc rajouté a celle ci..
mais cela ne fonctionne pas..
je te laisse ci joint celle ci:(j'ai scindé en 2 Intersect(...) car en
fait
s'il s'agit de la colonne I les cellules a atteindre sont sur les
colonnes R
à U.
s'il s'agit de la colonne N les cellules a atteindre sont sur les
colonnes
R à V
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges", "Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat = "General"
End If
If Intersect(Target, Range("I:I")) Is Nothing Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat = "General"
End If
Application.EnableEvents = True
End Sub--
Merci.
ALF
Bonjour.
Je n'ai pas compris la séquence des colonnes à impliquer. Je n'ai pris
que
les colonnes B, H, I, N et Q (les points de suspension semblent indiquer
qu'il y en a d'autres).
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Union(Range("B:B"), Range("H:H"), Range("I:I"),
_
Range("N:N"), Range("Q:Q"))) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range(Target, Target.Offset(0, 4)).NumberFormat = "0.00%"
Else
Range(Target, Target.Offset(0, 4)).NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" <ALF@discussions.microsoft.com> a écrit dans le message de news:
DC7AD140-8018-404B-BB22-1ABDF5144DE4@microsoft.com...
bonsoir,
merci daniel ,mais je me suis mal expliqué sur la fin...
en fait j'aimerais que quelquesoit la cellule situé sur les colonnes
que
j'ai cité,le format s'applique alors sur les 4 cellules à droite de
cette
cellule cible..
c'est a dire si cellule = H15="Taux de recouvres" alors mettre le
format
pourcentage sur H15:K15..
target ne doit s'appliquer que sur Les colonnes H:H, B:B, N:N, H:H,
Q:Q,
I:I....
merci encore
--
ALF
Bonsoir.
Je suppose que par "Range("I59:I59")", tu entends Range("I59:L59").
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "0.00%"
Else
Range("I59:L59").NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" <ALF@discussions.microsoft.com> a écrit dans le message de news:
4873F8DF-73C9-40C3-9B58-8A2EB572F3CB@microsoft.com...
Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la
cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage avec
2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien
faire..
les cellules en question se trouve sur les colonnes H:H, B:B, N:N,
H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
Re,
merci pour le code mais j'avais deja Private Sub Worksheet_Change occupé
par une procedure..je l'ai donc rajouté a celle ci..
mais cela ne fonctionne pas..
je te laisse ci joint celle ci:(j'ai scindé en 2 Intersect(...) car en
fait
s'il s'agit de la colonne I les cellules a atteindre sont sur les
colonnes R
à U.
s'il s'agit de la colonne N les cellules a atteindre sont sur les
colonnes
R à V
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges", "Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat = "General"
End If
If Intersect(Target, Range("I:I")) Is Nothing Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat = "General"
End If
Application.EnableEvents = True
End Sub--
Merci.
ALFBonjour.
Je n'ai pas compris la séquence des colonnes à impliquer. Je n'ai pris
que
les colonnes B, H, I, N et Q (les points de suspension semblent indiquer
qu'il y en a d'autres).
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Union(Range("B:B"), Range("H:H"), Range("I:I"),
_
Range("N:N"), Range("Q:Q"))) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range(Target, Target.Offset(0, 4)).NumberFormat = "0.00%"
Else
Range(Target, Target.Offset(0, 4)).NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de news:bonsoir,
merci daniel ,mais je me suis mal expliqué sur la fin...
en fait j'aimerais que quelquesoit la cellule situé sur les colonnes
que
j'ai cité,le format s'applique alors sur les 4 cellules à droite de
cette
cellule cible..
c'est a dire si cellule = H15="Taux de recouvres" alors mettre le
format
pourcentage sur H15:K15..
target ne doit s'appliquer que sur Les colonnes H:H, B:B, N:N, H:H,
Q:Q,
I:I....
merci encore
--
ALFBonsoir.
Je suppose que par "Range("I59:I59")", tu entends Range("I59:L59").
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "0.00%"
Else
Range("I59:L59").NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de news:Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la
cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage avec
2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien
faire..
les cellules en question se trouve sur les colonnes H:H, B:B, N:N,
H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
Oui, ca marche pour la colonne N, pas pour la colonne I parce que si tu
écris quelque chose en colonne I le test :
If Intersect(Target, Range("N:N")) Is Nothing Then Exit Sub
termine la macro sans aller plus loin.
Modifie ta macro comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges", "Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
If Not Intersect(Target, Range("N:N")) Is Nothing Then
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat = "General"
End If
ElseIf Intersect(Target, Range("I:I")) Is Nothing Then
Exit Sub
End If
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat = "General"
End If
Application.EnableEvents = True
End Sub
Daniel
"ALF" a écrit dans le message de news:Re,
merci pour le code mais j'avais deja Private Sub Worksheet_Change occupé
par une procedure..je l'ai donc rajouté a celle ci..
mais cela ne fonctionne pas..
je te laisse ci joint celle ci:(j'ai scindé en 2 Intersect(...) car en
fait
s'il s'agit de la colonne I les cellules a atteindre sont sur les
colonnes R
à U.
s'il s'agit de la colonne N les cellules a atteindre sont sur les
colonnes
R à V
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges", "Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat = "General"
End If
If Intersect(Target, Range("I:I")) Is Nothing Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat = "General"
End If
Application.EnableEvents = True
End Sub--
Merci.
ALFBonjour.
Je n'ai pas compris la séquence des colonnes à impliquer. Je n'ai pris
que
les colonnes B, H, I, N et Q (les points de suspension semblent indiquer
qu'il y en a d'autres).
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Union(Range("B:B"), Range("H:H"), Range("I:I"),
_
Range("N:N"), Range("Q:Q"))) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range(Target, Target.Offset(0, 4)).NumberFormat = "0.00%"
Else
Range(Target, Target.Offset(0, 4)).NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de news:bonsoir,
merci daniel ,mais je me suis mal expliqué sur la fin...
en fait j'aimerais que quelquesoit la cellule situé sur les colonnes
que
j'ai cité,le format s'applique alors sur les 4 cellules à droite de
cette
cellule cible..
c'est a dire si cellule = H15="Taux de recouvres" alors mettre le
format
pourcentage sur H15:K15..
target ne doit s'appliquer que sur Les colonnes H:H, B:B, N:N, H:H,
Q:Q,
I:I....
merci encore
--
ALFBonsoir.
Je suppose que par "Range("I59:I59")", tu entends Range("I59:L59").
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "0.00%"
Else
Range("I59:L59").NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de news:Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la
cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage avec
2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien
faire..
les cellules en question se trouve sur les colonnes H:H, B:B, N:N,
H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
Oui, ca marche pour la colonne N, pas pour la colonne I parce que si tu
écris quelque chose en colonne I le test :
If Intersect(Target, Range("N:N")) Is Nothing Then Exit Sub
termine la macro sans aller plus loin.
Modifie ta macro comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges", "Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
If Not Intersect(Target, Range("N:N")) Is Nothing Then
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat = "General"
End If
ElseIf Intersect(Target, Range("I:I")) Is Nothing Then
Exit Sub
End If
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat = "General"
End If
Application.EnableEvents = True
End Sub
Daniel
"ALF" <ALF@discussions.microsoft.com> a écrit dans le message de news:
A8DBD3B2-41F8-45FB-9D5C-2705E8D6D739@microsoft.com...
Re,
merci pour le code mais j'avais deja Private Sub Worksheet_Change occupé
par une procedure..je l'ai donc rajouté a celle ci..
mais cela ne fonctionne pas..
je te laisse ci joint celle ci:(j'ai scindé en 2 Intersect(...) car en
fait
s'il s'agit de la colonne I les cellules a atteindre sont sur les
colonnes R
à U.
s'il s'agit de la colonne N les cellules a atteindre sont sur les
colonnes
R à V
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges", "Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat = "General"
End If
If Intersect(Target, Range("I:I")) Is Nothing Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat = "General"
End If
Application.EnableEvents = True
End Sub--
Merci.
ALF
Bonjour.
Je n'ai pas compris la séquence des colonnes à impliquer. Je n'ai pris
que
les colonnes B, H, I, N et Q (les points de suspension semblent indiquer
qu'il y en a d'autres).
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Union(Range("B:B"), Range("H:H"), Range("I:I"),
_
Range("N:N"), Range("Q:Q"))) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range(Target, Target.Offset(0, 4)).NumberFormat = "0.00%"
Else
Range(Target, Target.Offset(0, 4)).NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" <ALF@discussions.microsoft.com> a écrit dans le message de news:
DC7AD140-8018-404B-BB22-1ABDF5144DE4@microsoft.com...
bonsoir,
merci daniel ,mais je me suis mal expliqué sur la fin...
en fait j'aimerais que quelquesoit la cellule situé sur les colonnes
que
j'ai cité,le format s'applique alors sur les 4 cellules à droite de
cette
cellule cible..
c'est a dire si cellule = H15="Taux de recouvres" alors mettre le
format
pourcentage sur H15:K15..
target ne doit s'appliquer que sur Les colonnes H:H, B:B, N:N, H:H,
Q:Q,
I:I....
merci encore
--
ALF
Bonsoir.
Je suppose que par "Range("I59:I59")", tu entends Range("I59:L59").
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "0.00%"
Else
Range("I59:L59").NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" <ALF@discussions.microsoft.com> a écrit dans le message de news:
4873F8DF-73C9-40C3-9B58-8A2EB572F3CB@microsoft.com...
Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la
cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage avec
2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien
faire..
les cellules en question se trouve sur les colonnes H:H, B:B, N:N,
H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
Oui, ca marche pour la colonne N, pas pour la colonne I parce que si tu
écris quelque chose en colonne I le test :
If Intersect(Target, Range("N:N")) Is Nothing Then Exit Sub
termine la macro sans aller plus loin.
Modifie ta macro comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges", "Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
If Not Intersect(Target, Range("N:N")) Is Nothing Then
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat = "General"
End If
ElseIf Intersect(Target, Range("I:I")) Is Nothing Then
Exit Sub
End If
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat = "General"
End If
Application.EnableEvents = True
End Sub
Daniel
"ALF" a écrit dans le message de news:Re,
merci pour le code mais j'avais deja Private Sub Worksheet_Change occupé
par une procedure..je l'ai donc rajouté a celle ci..
mais cela ne fonctionne pas..
je te laisse ci joint celle ci:(j'ai scindé en 2 Intersect(...) car en
fait
s'il s'agit de la colonne I les cellules a atteindre sont sur les
colonnes R
à U.
s'il s'agit de la colonne N les cellules a atteindre sont sur les
colonnes
R à V
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges", "Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat = "General"
End If
If Intersect(Target, Range("I:I")) Is Nothing Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat = "General"
End If
Application.EnableEvents = True
End Sub--
Merci.
ALFBonjour.
Je n'ai pas compris la séquence des colonnes à impliquer. Je n'ai pris
que
les colonnes B, H, I, N et Q (les points de suspension semblent indiquer
qu'il y en a d'autres).
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Union(Range("B:B"), Range("H:H"), Range("I:I"),
_
Range("N:N"), Range("Q:Q"))) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range(Target, Target.Offset(0, 4)).NumberFormat = "0.00%"
Else
Range(Target, Target.Offset(0, 4)).NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de news:bonsoir,
merci daniel ,mais je me suis mal expliqué sur la fin...
en fait j'aimerais que quelquesoit la cellule situé sur les colonnes
que
j'ai cité,le format s'applique alors sur les 4 cellules à droite de
cette
cellule cible..
c'est a dire si cellule = H15="Taux de recouvres" alors mettre le
format
pourcentage sur H15:K15..
target ne doit s'appliquer que sur Les colonnes H:H, B:B, N:N, H:H,
Q:Q,
I:I....
merci encore
--
ALFBonsoir.
Je suppose que par "Range("I59:I59")", tu entends Range("I59:L59").
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "0.00%"
Else
Range("I59:L59").NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de news:Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la
cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage avec
2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien
faire..
les cellules en question se trouve sur les colonnes H:H, B:B, N:N,
H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
re,
Et pourtant cela ne marche ni sur la colonne N ni sur la colonne I....
Afin de te donner le max de renseignements je te precise davantage le but
de
la manoeuvre...
Lorsque je suis sur l'onglet NATIONAL ou se trouve la procedure Private
Sub
Worksheet_Change(ByVal Target As Range ,
lorsque je je choisi une valeur sur la liste deroulante d une cellule B12
et
B5,ceci fait apparaitre sur la feuille de l onglet le nom des cellules
ainsi
que des valeurs correspondant aux colonnes cités précédemment...
c'est pourquoi si les valeurs B12 ET B5 changent alors le nom et les
valeurs
d un meme cellule change aussi...
c'est pourquoi aussi les formats(% ou STANDARD) doivent changer en
fonction
du type de donnees...
peut etre ,faut il utiliser plutot ,Private Sub Worksheet_Activate()???
J'avoue que je cale la dessus...
Merci
--
ALFOui, ca marche pour la colonne N, pas pour la colonne I parce que si tu
écris quelque chose en colonne I le test :
If Intersect(Target, Range("N:N")) Is Nothing Then Exit Sub
termine la macro sans aller plus loin.
Modifie ta macro comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges", "Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
If Not Intersect(Target, Range("N:N")) Is Nothing Then
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat =
"0.00%"
Else
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat =
"General"
End If
ElseIf Intersect(Target, Range("I:I")) Is Nothing Then
Exit Sub
End If
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat =
"0.00%"
Else
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat =
"General"
End If
Application.EnableEvents = True
End Sub
Daniel
"ALF" a écrit dans le message de news:Re,
merci pour le code mais j'avais deja Private Sub Worksheet_Change
occupé
par une procedure..je l'ai donc rajouté a celle ci..
mais cela ne fonctionne pas..
je te laisse ci joint celle ci:(j'ai scindé en 2 Intersect(...) car en
fait
s'il s'agit de la colonne I les cellules a atteindre sont sur les
colonnes R
à U.
s'il s'agit de la colonne N les cellules a atteindre sont sur les
colonnes
R à V
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges",
"Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat =
"General"
End If
If Intersect(Target, Range("I:I")) Is Nothing Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat =
"General"
End If
Application.EnableEvents = True
End Sub--
Merci.
ALFBonjour.
Je n'ai pas compris la séquence des colonnes à impliquer. Je n'ai pris
que
les colonnes B, H, I, N et Q (les points de suspension semblent
indiquer
qu'il y en a d'autres).
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Union(Range("B:B"), Range("H:H"),
Range("I:I"),
_
Range("N:N"), Range("Q:Q"))) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range(Target, Target.Offset(0, 4)).NumberFormat = "0.00%"
Else
Range(Target, Target.Offset(0, 4)).NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de news:bonsoir,
merci daniel ,mais je me suis mal expliqué sur la fin...
en fait j'aimerais que quelquesoit la cellule situé sur les colonnes
que
j'ai cité,le format s'applique alors sur les 4 cellules à droite de
cette
cellule cible..
c'est a dire si cellule = H15="Taux de recouvres" alors mettre le
format
pourcentage sur H15:K15..
target ne doit s'appliquer que sur Les colonnes H:H, B:B, N:N, H:H,
Q:Q,
I:I....
merci encore
--
ALFBonsoir.
Je suppose que par "Range("I59:I59")", tu entends Range("I59:L59").
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "0.00%"
Else
Range("I59:L59").NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de
news:Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la
cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage
avec
2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien
faire..
les cellules en question se trouve sur les colonnes H:H, B:B,
N:N,
H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
re,
Et pourtant cela ne marche ni sur la colonne N ni sur la colonne I....
Afin de te donner le max de renseignements je te precise davantage le but
de
la manoeuvre...
Lorsque je suis sur l'onglet NATIONAL ou se trouve la procedure Private
Sub
Worksheet_Change(ByVal Target As Range ,
lorsque je je choisi une valeur sur la liste deroulante d une cellule B12
et
B5,ceci fait apparaitre sur la feuille de l onglet le nom des cellules
ainsi
que des valeurs correspondant aux colonnes cités précédemment...
c'est pourquoi si les valeurs B12 ET B5 changent alors le nom et les
valeurs
d un meme cellule change aussi...
c'est pourquoi aussi les formats(% ou STANDARD) doivent changer en
fonction
du type de donnees...
peut etre ,faut il utiliser plutot ,Private Sub Worksheet_Activate()???
J'avoue que je cale la dessus...
Merci
--
ALF
Oui, ca marche pour la colonne N, pas pour la colonne I parce que si tu
écris quelque chose en colonne I le test :
If Intersect(Target, Range("N:N")) Is Nothing Then Exit Sub
termine la macro sans aller plus loin.
Modifie ta macro comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges", "Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
If Not Intersect(Target, Range("N:N")) Is Nothing Then
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat =
"0.00%"
Else
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat =
"General"
End If
ElseIf Intersect(Target, Range("I:I")) Is Nothing Then
Exit Sub
End If
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat =
"0.00%"
Else
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat =
"General"
End If
Application.EnableEvents = True
End Sub
Daniel
"ALF" <ALF@discussions.microsoft.com> a écrit dans le message de news:
A8DBD3B2-41F8-45FB-9D5C-2705E8D6D739@microsoft.com...
Re,
merci pour le code mais j'avais deja Private Sub Worksheet_Change
occupé
par une procedure..je l'ai donc rajouté a celle ci..
mais cela ne fonctionne pas..
je te laisse ci joint celle ci:(j'ai scindé en 2 Intersect(...) car en
fait
s'il s'agit de la colonne I les cellules a atteindre sont sur les
colonnes R
à U.
s'il s'agit de la colonne N les cellules a atteindre sont sur les
colonnes
R à V
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges",
"Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat =
"General"
End If
If Intersect(Target, Range("I:I")) Is Nothing Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat =
"General"
End If
Application.EnableEvents = True
End Sub--
Merci.
ALF
Bonjour.
Je n'ai pas compris la séquence des colonnes à impliquer. Je n'ai pris
que
les colonnes B, H, I, N et Q (les points de suspension semblent
indiquer
qu'il y en a d'autres).
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Union(Range("B:B"), Range("H:H"),
Range("I:I"),
_
Range("N:N"), Range("Q:Q"))) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range(Target, Target.Offset(0, 4)).NumberFormat = "0.00%"
Else
Range(Target, Target.Offset(0, 4)).NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" <ALF@discussions.microsoft.com> a écrit dans le message de news:
DC7AD140-8018-404B-BB22-1ABDF5144DE4@microsoft.com...
bonsoir,
merci daniel ,mais je me suis mal expliqué sur la fin...
en fait j'aimerais que quelquesoit la cellule situé sur les colonnes
que
j'ai cité,le format s'applique alors sur les 4 cellules à droite de
cette
cellule cible..
c'est a dire si cellule = H15="Taux de recouvres" alors mettre le
format
pourcentage sur H15:K15..
target ne doit s'appliquer que sur Les colonnes H:H, B:B, N:N, H:H,
Q:Q,
I:I....
merci encore
--
ALF
Bonsoir.
Je suppose que par "Range("I59:I59")", tu entends Range("I59:L59").
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "0.00%"
Else
Range("I59:L59").NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" <ALF@discussions.microsoft.com> a écrit dans le message de
news:
4873F8DF-73C9-40C3-9B58-8A2EB572F3CB@microsoft.com...
Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la
cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage
avec
2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien
faire..
les cellules en question se trouve sur les colonnes H:H, B:B,
N:N,
H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
re,
Et pourtant cela ne marche ni sur la colonne N ni sur la colonne I....
Afin de te donner le max de renseignements je te precise davantage le but
de
la manoeuvre...
Lorsque je suis sur l'onglet NATIONAL ou se trouve la procedure Private
Sub
Worksheet_Change(ByVal Target As Range ,
lorsque je je choisi une valeur sur la liste deroulante d une cellule B12
et
B5,ceci fait apparaitre sur la feuille de l onglet le nom des cellules
ainsi
que des valeurs correspondant aux colonnes cités précédemment...
c'est pourquoi si les valeurs B12 ET B5 changent alors le nom et les
valeurs
d un meme cellule change aussi...
c'est pourquoi aussi les formats(% ou STANDARD) doivent changer en
fonction
du type de donnees...
peut etre ,faut il utiliser plutot ,Private Sub Worksheet_Activate()???
J'avoue que je cale la dessus...
Merci
--
ALFOui, ca marche pour la colonne N, pas pour la colonne I parce que si tu
écris quelque chose en colonne I le test :
If Intersect(Target, Range("N:N")) Is Nothing Then Exit Sub
termine la macro sans aller plus loin.
Modifie ta macro comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges", "Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
If Not Intersect(Target, Range("N:N")) Is Nothing Then
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat =
"0.00%"
Else
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat =
"General"
End If
ElseIf Intersect(Target, Range("I:I")) Is Nothing Then
Exit Sub
End If
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat =
"0.00%"
Else
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat =
"General"
End If
Application.EnableEvents = True
End Sub
Daniel
"ALF" a écrit dans le message de news:Re,
merci pour le code mais j'avais deja Private Sub Worksheet_Change
occupé
par une procedure..je l'ai donc rajouté a celle ci..
mais cela ne fonctionne pas..
je te laisse ci joint celle ci:(j'ai scindé en 2 Intersect(...) car en
fait
s'il s'agit de la colonne I les cellules a atteindre sont sur les
colonnes R
à U.
s'il s'agit de la colonne N les cellules a atteindre sont sur les
colonnes
R à V
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges",
"Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat =
"General"
End If
If Intersect(Target, Range("I:I")) Is Nothing Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat =
"General"
End If
Application.EnableEvents = True
End Sub--
Merci.
ALFBonjour.
Je n'ai pas compris la séquence des colonnes à impliquer. Je n'ai pris
que
les colonnes B, H, I, N et Q (les points de suspension semblent
indiquer
qu'il y en a d'autres).
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Union(Range("B:B"), Range("H:H"),
Range("I:I"),
_
Range("N:N"), Range("Q:Q"))) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range(Target, Target.Offset(0, 4)).NumberFormat = "0.00%"
Else
Range(Target, Target.Offset(0, 4)).NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de news:bonsoir,
merci daniel ,mais je me suis mal expliqué sur la fin...
en fait j'aimerais que quelquesoit la cellule situé sur les colonnes
que
j'ai cité,le format s'applique alors sur les 4 cellules à droite de
cette
cellule cible..
c'est a dire si cellule = H15="Taux de recouvres" alors mettre le
format
pourcentage sur H15:K15..
target ne doit s'appliquer que sur Les colonnes H:H, B:B, N:N, H:H,
Q:Q,
I:I....
merci encore
--
ALFBonsoir.
Je suppose que par "Range("I59:I59")", tu entends Range("I59:L59").
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "0.00%"
Else
Range("I59:L59").NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de
news:Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la
cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage
avec
2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien
faire..
les cellules en question se trouve sur les colonnes H:H, B:B,
N:N,
H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
Ce n'est pas très clair pour moi...
Mets la feuille en question sur www.cjoint.com
et poste l'adresse générée.
Daniel
"ALF" a écrit dans le message de news:re,
Et pourtant cela ne marche ni sur la colonne N ni sur la colonne I....
Afin de te donner le max de renseignements je te precise davantage le but
de
la manoeuvre...
Lorsque je suis sur l'onglet NATIONAL ou se trouve la procedure Private
Sub
Worksheet_Change(ByVal Target As Range ,
lorsque je je choisi une valeur sur la liste deroulante d une cellule B12
et
B5,ceci fait apparaitre sur la feuille de l onglet le nom des cellules
ainsi
que des valeurs correspondant aux colonnes cités précédemment...
c'est pourquoi si les valeurs B12 ET B5 changent alors le nom et les
valeurs
d un meme cellule change aussi...
c'est pourquoi aussi les formats(% ou STANDARD) doivent changer en
fonction
du type de donnees...
peut etre ,faut il utiliser plutot ,Private Sub Worksheet_Activate()???
J'avoue que je cale la dessus...
Merci
--
ALFOui, ca marche pour la colonne N, pas pour la colonne I parce que si tu
écris quelque chose en colonne I le test :
If Intersect(Target, Range("N:N")) Is Nothing Then Exit Sub
termine la macro sans aller plus loin.
Modifie ta macro comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges", "Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
If Not Intersect(Target, Range("N:N")) Is Nothing Then
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat =
"0.00%"
Else
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat =
"General"
End If
ElseIf Intersect(Target, Range("I:I")) Is Nothing Then
Exit Sub
End If
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat =
"0.00%"
Else
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat =
"General"
End If
Application.EnableEvents = True
End Sub
Daniel
"ALF" a écrit dans le message de news:Re,
merci pour le code mais j'avais deja Private Sub Worksheet_Change
occupé
par une procedure..je l'ai donc rajouté a celle ci..
mais cela ne fonctionne pas..
je te laisse ci joint celle ci:(j'ai scindé en 2 Intersect(...) car en
fait
s'il s'agit de la colonne I les cellules a atteindre sont sur les
colonnes R
à U.
s'il s'agit de la colonne N les cellules a atteindre sont sur les
colonnes
R à V
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges",
"Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat =
"General"
End If
If Intersect(Target, Range("I:I")) Is Nothing Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat =
"General"
End If
Application.EnableEvents = True
End Sub--
Merci.
ALFBonjour.
Je n'ai pas compris la séquence des colonnes à impliquer. Je n'ai pris
que
les colonnes B, H, I, N et Q (les points de suspension semblent
indiquer
qu'il y en a d'autres).
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Union(Range("B:B"), Range("H:H"),
Range("I:I"),
_
Range("N:N"), Range("Q:Q"))) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range(Target, Target.Offset(0, 4)).NumberFormat = "0.00%"
Else
Range(Target, Target.Offset(0, 4)).NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de news:bonsoir,
merci daniel ,mais je me suis mal expliqué sur la fin...
en fait j'aimerais que quelquesoit la cellule situé sur les colonnes
que
j'ai cité,le format s'applique alors sur les 4 cellules à droite de
cette
cellule cible..
c'est a dire si cellule = H15="Taux de recouvres" alors mettre le
format
pourcentage sur H15:K15..
target ne doit s'appliquer que sur Les colonnes H:H, B:B, N:N, H:H,
Q:Q,
I:I....
merci encore
--
ALFBonsoir.
Je suppose que par "Range("I59:I59")", tu entends Range("I59:L59").
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "0.00%"
Else
Range("I59:L59").NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de
news:Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la
cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage
avec
2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien
faire..
les cellules en question se trouve sur les colonnes H:H, B:B,
N:N,
H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
Ce n'est pas très clair pour moi...
Mets la feuille en question sur www.cjoint.com
et poste l'adresse générée.
Daniel
"ALF" <ALF@discussions.microsoft.com> a écrit dans le message de news:
E0F0C090-685E-4540-9CC8-C32639E346C7@microsoft.com...
re,
Et pourtant cela ne marche ni sur la colonne N ni sur la colonne I....
Afin de te donner le max de renseignements je te precise davantage le but
de
la manoeuvre...
Lorsque je suis sur l'onglet NATIONAL ou se trouve la procedure Private
Sub
Worksheet_Change(ByVal Target As Range ,
lorsque je je choisi une valeur sur la liste deroulante d une cellule B12
et
B5,ceci fait apparaitre sur la feuille de l onglet le nom des cellules
ainsi
que des valeurs correspondant aux colonnes cités précédemment...
c'est pourquoi si les valeurs B12 ET B5 changent alors le nom et les
valeurs
d un meme cellule change aussi...
c'est pourquoi aussi les formats(% ou STANDARD) doivent changer en
fonction
du type de donnees...
peut etre ,faut il utiliser plutot ,Private Sub Worksheet_Activate()???
J'avoue que je cale la dessus...
Merci
--
ALF
Oui, ca marche pour la colonne N, pas pour la colonne I parce que si tu
écris quelque chose en colonne I le test :
If Intersect(Target, Range("N:N")) Is Nothing Then Exit Sub
termine la macro sans aller plus loin.
Modifie ta macro comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges", "Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
If Not Intersect(Target, Range("N:N")) Is Nothing Then
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat =
"0.00%"
Else
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat =
"General"
End If
ElseIf Intersect(Target, Range("I:I")) Is Nothing Then
Exit Sub
End If
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat =
"0.00%"
Else
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat =
"General"
End If
Application.EnableEvents = True
End Sub
Daniel
"ALF" <ALF@discussions.microsoft.com> a écrit dans le message de news:
A8DBD3B2-41F8-45FB-9D5C-2705E8D6D739@microsoft.com...
Re,
merci pour le code mais j'avais deja Private Sub Worksheet_Change
occupé
par une procedure..je l'ai donc rajouté a celle ci..
mais cela ne fonctionne pas..
je te laisse ci joint celle ci:(j'ai scindé en 2 Intersect(...) car en
fait
s'il s'agit de la colonne I les cellules a atteindre sont sur les
colonnes R
à U.
s'il s'agit de la colonne N les cellules a atteindre sont sur les
colonnes
R à V
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges",
"Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat =
"General"
End If
If Intersect(Target, Range("I:I")) Is Nothing Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat =
"General"
End If
Application.EnableEvents = True
End Sub--
Merci.
ALF
Bonjour.
Je n'ai pas compris la séquence des colonnes à impliquer. Je n'ai pris
que
les colonnes B, H, I, N et Q (les points de suspension semblent
indiquer
qu'il y en a d'autres).
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Union(Range("B:B"), Range("H:H"),
Range("I:I"),
_
Range("N:N"), Range("Q:Q"))) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range(Target, Target.Offset(0, 4)).NumberFormat = "0.00%"
Else
Range(Target, Target.Offset(0, 4)).NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" <ALF@discussions.microsoft.com> a écrit dans le message de news:
DC7AD140-8018-404B-BB22-1ABDF5144DE4@microsoft.com...
bonsoir,
merci daniel ,mais je me suis mal expliqué sur la fin...
en fait j'aimerais que quelquesoit la cellule situé sur les colonnes
que
j'ai cité,le format s'applique alors sur les 4 cellules à droite de
cette
cellule cible..
c'est a dire si cellule = H15="Taux de recouvres" alors mettre le
format
pourcentage sur H15:K15..
target ne doit s'appliquer que sur Les colonnes H:H, B:B, N:N, H:H,
Q:Q,
I:I....
merci encore
--
ALF
Bonsoir.
Je suppose que par "Range("I59:I59")", tu entends Range("I59:L59").
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "0.00%"
Else
Range("I59:L59").NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" <ALF@discussions.microsoft.com> a écrit dans le message de
news:
4873F8DF-73C9-40C3-9B58-8A2EB572F3CB@microsoft.com...
Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la
cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage
avec
2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien
faire..
les cellules en question se trouve sur les colonnes H:H, B:B,
N:N,
H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
Ce n'est pas très clair pour moi...
Mets la feuille en question sur www.cjoint.com
et poste l'adresse générée.
Daniel
"ALF" a écrit dans le message de news:re,
Et pourtant cela ne marche ni sur la colonne N ni sur la colonne I....
Afin de te donner le max de renseignements je te precise davantage le but
de
la manoeuvre...
Lorsque je suis sur l'onglet NATIONAL ou se trouve la procedure Private
Sub
Worksheet_Change(ByVal Target As Range ,
lorsque je je choisi une valeur sur la liste deroulante d une cellule B12
et
B5,ceci fait apparaitre sur la feuille de l onglet le nom des cellules
ainsi
que des valeurs correspondant aux colonnes cités précédemment...
c'est pourquoi si les valeurs B12 ET B5 changent alors le nom et les
valeurs
d un meme cellule change aussi...
c'est pourquoi aussi les formats(% ou STANDARD) doivent changer en
fonction
du type de donnees...
peut etre ,faut il utiliser plutot ,Private Sub Worksheet_Activate()???
J'avoue que je cale la dessus...
Merci
--
ALFOui, ca marche pour la colonne N, pas pour la colonne I parce que si tu
écris quelque chose en colonne I le test :
If Intersect(Target, Range("N:N")) Is Nothing Then Exit Sub
termine la macro sans aller plus loin.
Modifie ta macro comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges", "Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
If Not Intersect(Target, Range("N:N")) Is Nothing Then
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat =
"0.00%"
Else
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat =
"General"
End If
ElseIf Intersect(Target, Range("I:I")) Is Nothing Then
Exit Sub
End If
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat =
"0.00%"
Else
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat =
"General"
End If
Application.EnableEvents = True
End Sub
Daniel
"ALF" a écrit dans le message de news:Re,
merci pour le code mais j'avais deja Private Sub Worksheet_Change
occupé
par une procedure..je l'ai donc rajouté a celle ci..
mais cela ne fonctionne pas..
je te laisse ci joint celle ci:(j'ai scindé en 2 Intersect(...) car en
fait
s'il s'agit de la colonne I les cellules a atteindre sont sur les
colonnes R
à U.
s'il s'agit de la colonne N les cellules a atteindre sont sur les
colonnes
R à V
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges",
"Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat =
"General"
End If
If Intersect(Target, Range("I:I")) Is Nothing Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat = "0.00%"
Else
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat =
"General"
End If
Application.EnableEvents = True
End Sub--
Merci.
ALFBonjour.
Je n'ai pas compris la séquence des colonnes à impliquer. Je n'ai pris
que
les colonnes B, H, I, N et Q (les points de suspension semblent
indiquer
qu'il y en a d'autres).
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Union(Range("B:B"), Range("H:H"),
Range("I:I"),
_
Range("N:N"), Range("Q:Q"))) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range(Target, Target.Offset(0, 4)).NumberFormat = "0.00%"
Else
Range(Target, Target.Offset(0, 4)).NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de news:bonsoir,
merci daniel ,mais je me suis mal expliqué sur la fin...
en fait j'aimerais que quelquesoit la cellule situé sur les colonnes
que
j'ai cité,le format s'applique alors sur les 4 cellules à droite de
cette
cellule cible..
c'est a dire si cellule = H15="Taux de recouvres" alors mettre le
format
pourcentage sur H15:K15..
target ne doit s'appliquer que sur Les colonnes H:H, B:B, N:N, H:H,
Q:Q,
I:I....
merci encore
--
ALFBonsoir.
Je suppose que par "Range("I59:I59")", tu entends Range("I59:L59").
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "0.00%"
Else
Range("I59:L59").NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de
news:Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la
cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage
avec
2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien
faire..
les cellules en question se trouve sur les colonnes H:H, B:B,
N:N,
H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
re,
ci dessous l' adresse demandée avec le fichier joint.
http://cjoint.com/?edsJES3lw8
Merci
--
ALFCe n'est pas très clair pour moi...
Mets la feuille en question sur www.cjoint.com
et poste l'adresse générée.
Daniel
"ALF" a écrit dans le message de news:re,
Et pourtant cela ne marche ni sur la colonne N ni sur la colonne I....
Afin de te donner le max de renseignements je te precise davantage le
but
de
la manoeuvre...
Lorsque je suis sur l'onglet NATIONAL ou se trouve la procedure Private
Sub
Worksheet_Change(ByVal Target As Range ,
lorsque je je choisi une valeur sur la liste deroulante d une cellule
B12
et
B5,ceci fait apparaitre sur la feuille de l onglet le nom des cellules
ainsi
que des valeurs correspondant aux colonnes cités précédemment...
c'est pourquoi si les valeurs B12 ET B5 changent alors le nom et les
valeurs
d un meme cellule change aussi...
c'est pourquoi aussi les formats(% ou STANDARD) doivent changer en
fonction
du type de donnees...
peut etre ,faut il utiliser plutot ,Private Sub Worksheet_Activate()???
J'avoue que je cale la dessus...
Merci
--
ALFOui, ca marche pour la colonne N, pas pour la colonne I parce que si
tu
écris quelque chose en colonne I le test :
If Intersect(Target, Range("N:N")) Is Nothing Then Exit Sub
termine la macro sans aller plus loin.
Modifie ta macro comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges",
"Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
If Not Intersect(Target, Range("N:N")) Is Nothing Then
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat >> >> "0.00%"
Else
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat >> >> "General"
End If
ElseIf Intersect(Target, Range("I:I")) Is Nothing Then
Exit Sub
End If
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat >> >> "0.00%"
Else
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat >> >> "General"
End If
Application.EnableEvents = True
End Sub
Daniel
"ALF" a écrit dans le message de news:Re,
merci pour le code mais j'avais deja Private Sub Worksheet_Change
occupé
par une procedure..je l'ai donc rajouté a celle ci..
mais cela ne fonctionne pas..
je te laisse ci joint celle ci:(j'ai scindé en 2 Intersect(...) car
en
fait
s'il s'agit de la colonne I les cellules a atteindre sont sur les
colonnes R
à U.
s'il s'agit de la colonne N les cellules a atteindre sont sur les
colonnes
R à V
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges",
"Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat =
"0.00%"
Else
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat >> >> > "General"
End If
If Intersect(Target, Range("I:I")) Is Nothing Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat =
"0.00%"
Else
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat >> >> > "General"
End If
Application.EnableEvents = True
End Sub--
Merci.
ALFBonjour.
Je n'ai pas compris la séquence des colonnes à impliquer. Je n'ai
pris
que
les colonnes B, H, I, N et Q (les points de suspension semblent
indiquer
qu'il y en a d'autres).
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Union(Range("B:B"), Range("H:H"),
Range("I:I"),
_
Range("N:N"), Range("Q:Q"))) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range(Target, Target.Offset(0, 4)).NumberFormat = "0.00%"
Else
Range(Target, Target.Offset(0, 4)).NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de
news:bonsoir,
merci daniel ,mais je me suis mal expliqué sur la fin...
en fait j'aimerais que quelquesoit la cellule situé sur les
colonnes
que
j'ai cité,le format s'applique alors sur les 4 cellules à droite
de
cette
cellule cible..
c'est a dire si cellule = H15="Taux de recouvres" alors mettre le
format
pourcentage sur H15:K15..
target ne doit s'appliquer que sur Les colonnes H:H, B:B, N:N,
H:H,
Q:Q,
I:I....
merci encore
--
ALFBonsoir.
Je suppose que par "Range("I59:I59")", tu entends
Range("I59:L59").
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "0.00%"
Else
Range("I59:L59").NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de
news:Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la
cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage
avec
2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien
faire..
les cellules en question se trouve sur les colonnes H:H, B:B,
N:N,
H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
re,
ci dessous l' adresse demandée avec le fichier joint.
http://cjoint.com/?edsJES3lw8
Merci
--
ALF
Ce n'est pas très clair pour moi...
Mets la feuille en question sur www.cjoint.com
et poste l'adresse générée.
Daniel
"ALF" <ALF@discussions.microsoft.com> a écrit dans le message de news:
E0F0C090-685E-4540-9CC8-C32639E346C7@microsoft.com...
re,
Et pourtant cela ne marche ni sur la colonne N ni sur la colonne I....
Afin de te donner le max de renseignements je te precise davantage le
but
de
la manoeuvre...
Lorsque je suis sur l'onglet NATIONAL ou se trouve la procedure Private
Sub
Worksheet_Change(ByVal Target As Range ,
lorsque je je choisi une valeur sur la liste deroulante d une cellule
B12
et
B5,ceci fait apparaitre sur la feuille de l onglet le nom des cellules
ainsi
que des valeurs correspondant aux colonnes cités précédemment...
c'est pourquoi si les valeurs B12 ET B5 changent alors le nom et les
valeurs
d un meme cellule change aussi...
c'est pourquoi aussi les formats(% ou STANDARD) doivent changer en
fonction
du type de donnees...
peut etre ,faut il utiliser plutot ,Private Sub Worksheet_Activate()???
J'avoue que je cale la dessus...
Merci
--
ALF
Oui, ca marche pour la colonne N, pas pour la colonne I parce que si
tu
écris quelque chose en colonne I le test :
If Intersect(Target, Range("N:N")) Is Nothing Then Exit Sub
termine la macro sans aller plus loin.
Modifie ta macro comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges",
"Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
If Not Intersect(Target, Range("N:N")) Is Nothing Then
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat >> >> "0.00%"
Else
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat >> >> "General"
End If
ElseIf Intersect(Target, Range("I:I")) Is Nothing Then
Exit Sub
End If
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat >> >> "0.00%"
Else
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat >> >> "General"
End If
Application.EnableEvents = True
End Sub
Daniel
"ALF" <ALF@discussions.microsoft.com> a écrit dans le message de news:
A8DBD3B2-41F8-45FB-9D5C-2705E8D6D739@microsoft.com...
Re,
merci pour le code mais j'avais deja Private Sub Worksheet_Change
occupé
par une procedure..je l'ai donc rajouté a celle ci..
mais cela ne fonctionne pas..
je te laisse ci joint celle ci:(j'ai scindé en 2 Intersect(...) car
en
fait
s'il s'agit de la colonne I les cellules a atteindre sont sur les
colonnes R
à U.
s'il s'agit de la colonne N les cellules a atteindre sont sur les
colonnes
R à V
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges",
"Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat =
"0.00%"
Else
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat >> >> > "General"
End If
If Intersect(Target, Range("I:I")) Is Nothing Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat =
"0.00%"
Else
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat >> >> > "General"
End If
Application.EnableEvents = True
End Sub--
Merci.
ALF
Bonjour.
Je n'ai pas compris la séquence des colonnes à impliquer. Je n'ai
pris
que
les colonnes B, H, I, N et Q (les points de suspension semblent
indiquer
qu'il y en a d'autres).
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Union(Range("B:B"), Range("H:H"),
Range("I:I"),
_
Range("N:N"), Range("Q:Q"))) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range(Target, Target.Offset(0, 4)).NumberFormat = "0.00%"
Else
Range(Target, Target.Offset(0, 4)).NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" <ALF@discussions.microsoft.com> a écrit dans le message de
news:
DC7AD140-8018-404B-BB22-1ABDF5144DE4@microsoft.com...
bonsoir,
merci daniel ,mais je me suis mal expliqué sur la fin...
en fait j'aimerais que quelquesoit la cellule situé sur les
colonnes
que
j'ai cité,le format s'applique alors sur les 4 cellules à droite
de
cette
cellule cible..
c'est a dire si cellule = H15="Taux de recouvres" alors mettre le
format
pourcentage sur H15:K15..
target ne doit s'appliquer que sur Les colonnes H:H, B:B, N:N,
H:H,
Q:Q,
I:I....
merci encore
--
ALF
Bonsoir.
Je suppose que par "Range("I59:I59")", tu entends
Range("I59:L59").
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "0.00%"
Else
Range("I59:L59").NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" <ALF@discussions.microsoft.com> a écrit dans le message de
news:
4873F8DF-73C9-40C3-9B58-8A2EB572F3CB@microsoft.com...
Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la
cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage
avec
2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien
faire..
les cellules en question se trouve sur les colonnes H:H, B:B,
N:N,
H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF
re,
ci dessous l' adresse demandée avec le fichier joint.
http://cjoint.com/?edsJES3lw8
Merci
--
ALFCe n'est pas très clair pour moi...
Mets la feuille en question sur www.cjoint.com
et poste l'adresse générée.
Daniel
"ALF" a écrit dans le message de news:re,
Et pourtant cela ne marche ni sur la colonne N ni sur la colonne I....
Afin de te donner le max de renseignements je te precise davantage le
but
de
la manoeuvre...
Lorsque je suis sur l'onglet NATIONAL ou se trouve la procedure Private
Sub
Worksheet_Change(ByVal Target As Range ,
lorsque je je choisi une valeur sur la liste deroulante d une cellule
B12
et
B5,ceci fait apparaitre sur la feuille de l onglet le nom des cellules
ainsi
que des valeurs correspondant aux colonnes cités précédemment...
c'est pourquoi si les valeurs B12 ET B5 changent alors le nom et les
valeurs
d un meme cellule change aussi...
c'est pourquoi aussi les formats(% ou STANDARD) doivent changer en
fonction
du type de donnees...
peut etre ,faut il utiliser plutot ,Private Sub Worksheet_Activate()???
J'avoue que je cale la dessus...
Merci
--
ALFOui, ca marche pour la colonne N, pas pour la colonne I parce que si
tu
écris quelque chose en colonne I le test :
If Intersect(Target, Range("N:N")) Is Nothing Then Exit Sub
termine la macro sans aller plus loin.
Modifie ta macro comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges",
"Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
If Not Intersect(Target, Range("N:N")) Is Nothing Then
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat >> >> "0.00%"
Else
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat >> >> "General"
End If
ElseIf Intersect(Target, Range("I:I")) Is Nothing Then
Exit Sub
End If
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat >> >> "0.00%"
Else
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat >> >> "General"
End If
Application.EnableEvents = True
End Sub
Daniel
"ALF" a écrit dans le message de news:Re,
merci pour le code mais j'avais deja Private Sub Worksheet_Change
occupé
par une procedure..je l'ai donc rajouté a celle ci..
mais cela ne fonctionne pas..
je te laisse ci joint celle ci:(j'ai scindé en 2 Intersect(...) car
en
fait
s'il s'agit de la colonne I les cellules a atteindre sont sur les
colonnes R
à U.
s'il s'agit de la colonne N les cellules a atteindre sont sur les
colonnes
R à V
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges",
"Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat =
"0.00%"
Else
Range(Target.Offset(0, 4), Target.Offset(0, 8)).NumberFormat >> >> > "General"
End If
If Intersect(Target, Range("I:I")) Is Nothing Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Then
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat =
"0.00%"
Else
Range(Target.Offset(0, 6), Target.Offset(0, 9)).NumberFormat >> >> > "General"
End If
Application.EnableEvents = True
End Sub--
Merci.
ALFBonjour.
Je n'ai pas compris la séquence des colonnes à impliquer. Je n'ai
pris
que
les colonnes B, H, I, N et Q (les points de suspension semblent
indiquer
qu'il y en a d'autres).
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Union(Range("B:B"), Range("H:H"),
Range("I:I"),
_
Range("N:N"), Range("Q:Q"))) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range(Target, Target.Offset(0, 4)).NumberFormat = "0.00%"
Else
Range(Target, Target.Offset(0, 4)).NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de
news:bonsoir,
merci daniel ,mais je me suis mal expliqué sur la fin...
en fait j'aimerais que quelquesoit la cellule situé sur les
colonnes
que
j'ai cité,le format s'applique alors sur les 4 cellules à droite
de
cette
cellule cible..
c'est a dire si cellule = H15="Taux de recouvres" alors mettre le
format
pourcentage sur H15:K15..
target ne doit s'appliquer que sur Les colonnes H:H, B:B, N:N,
H:H,
Q:Q,
I:I....
merci encore
--
ALFBonsoir.
Je suppose que par "Range("I59:I59")", tu entends
Range("I59:L59").
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Left(Target, 4) = "Taux" Or Left(Target, 4) = "Effi" Or _
Left(Target, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "0.00%"
Else
Range("I59:L59").NumberFormat = "General"
End If
End Sub
Cordialement.
Daniel
"ALF" a écrit dans le message de
news:Bonjour,
je vous laisse ci joint,ce code...
Private Sub Worksheet_Activate()
If Left(Range("I59").Value, 4) = "Taux" Then
Range("I59:I59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Effi" Then
Range("I59:L59").NumberFormat = "0.00%"
End If
If Left(Range("I59").Value, 4) = "Nomb" Then
Range("I59:L59").NumberFormat = "General"
End If
End Sub
j'aimerais ameliorer ce code vb de sorte que quelque soit la
cellule,si
celle ci = "Effi" ou "Taux" alors mettre le format pourcentage
avec
2
decim ..
Sinon mettre le format general pour les autres cas..
je precise toutefois que si la cellule est vide alors ne rien
faire..
les cellules en question se trouve sur les colonnes H:H, B:B,
N:N,
H:H,
Q:Q,
I:I..
Merci de votre soutien
--
ALF