cBonjour,
je vous laisse ci joint le code qui me pose problême...
je voudrais que toutes les modifications executées par ce code sur un des
onglets puissent declencher ces memes actions simultanément sur les autres
onglets en sachant que ce code est le même pour toutes les feuilles
correspondant aux onglets..
pour l'instant, seul fonctionne simultanément la partie suivante:
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
mais les autres actions concernant le formatage ne fonctionne que sur
l'onglet déclencheur....
j'ai épuisé toutes mes connaissances mais en vain...
Merci de votre soutien
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Target.Address <> "$B$12" And Target.Address <> "$B$5" Then Exit Sub
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
For Each c In Range("I54:I73")
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00%"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0"
End If
Next c
For Each c In Range("N24:N50")
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00%"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00"
End If
Next c
For Each c In Range("B26:B44")
If Left(c, 4) = "Nomb" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.0"
End If
Next c
For Each c In Range("H5:H18")
If Left(c, 4) = "EFFC" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).NumberFormat = "0"
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).NumberFormat = "0.0"
End If
Next c
For Each c In Range("H5:H18")
If Left(c, 12) = "EFFCDI Total" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).Select
Selection.Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).Select
Selection.Font.Bold = False
End If
Next c
For Each c In Range("I54:I73")
If Left(c, 33) = "Efficience processus Grand Public" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = False
End If
Next c
For Each c In Range("N24:N50")
If Left(c, 23) = "Taux de recouvrement GP" Or Left(c, 13) = "Taux de
siren" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = False
End If
Next c
Range("B2").Select
Application.EnableEvents = True
End Sub
cBonjour,
je vous laisse ci joint le code qui me pose problême...
je voudrais que toutes les modifications executées par ce code sur un des
onglets puissent declencher ces memes actions simultanément sur les autres
onglets en sachant que ce code est le même pour toutes les feuilles
correspondant aux onglets..
pour l'instant, seul fonctionne simultanément la partie suivante:
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
mais les autres actions concernant le formatage ne fonctionne que sur
l'onglet déclencheur....
j'ai épuisé toutes mes connaissances mais en vain...
Merci de votre soutien
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Target.Address <> "$B$12" And Target.Address <> "$B$5" Then Exit Sub
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
For Each c In Range("I54:I73")
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00%"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0"
End If
Next c
For Each c In Range("N24:N50")
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00%"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00"
End If
Next c
For Each c In Range("B26:B44")
If Left(c, 4) = "Nomb" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.0"
End If
Next c
For Each c In Range("H5:H18")
If Left(c, 4) = "EFFC" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).NumberFormat = "0"
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).NumberFormat = "0.0"
End If
Next c
For Each c In Range("H5:H18")
If Left(c, 12) = "EFFCDI Total" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).Select
Selection.Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).Select
Selection.Font.Bold = False
End If
Next c
For Each c In Range("I54:I73")
If Left(c, 33) = "Efficience processus Grand Public" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = False
End If
Next c
For Each c In Range("N24:N50")
If Left(c, 23) = "Taux de recouvrement GP" Or Left(c, 13) = "Taux de
siren" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = False
End If
Next c
Range("B2").Select
Application.EnableEvents = True
End Sub
cBonjour,
je vous laisse ci joint le code qui me pose problême...
je voudrais que toutes les modifications executées par ce code sur un des
onglets puissent declencher ces memes actions simultanément sur les autres
onglets en sachant que ce code est le même pour toutes les feuilles
correspondant aux onglets..
pour l'instant, seul fonctionne simultanément la partie suivante:
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
mais les autres actions concernant le formatage ne fonctionne que sur
l'onglet déclencheur....
j'ai épuisé toutes mes connaissances mais en vain...
Merci de votre soutien
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Target.Address <> "$B$12" And Target.Address <> "$B$5" Then Exit Sub
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
For Each c In Range("I54:I73")
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00%"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0"
End If
Next c
For Each c In Range("N24:N50")
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00%"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00"
End If
Next c
For Each c In Range("B26:B44")
If Left(c, 4) = "Nomb" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.0"
End If
Next c
For Each c In Range("H5:H18")
If Left(c, 4) = "EFFC" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).NumberFormat = "0"
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).NumberFormat = "0.0"
End If
Next c
For Each c In Range("H5:H18")
If Left(c, 12) = "EFFCDI Total" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).Select
Selection.Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).Select
Selection.Font.Bold = False
End If
Next c
For Each c In Range("I54:I73")
If Left(c, 33) = "Efficience processus Grand Public" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = False
End If
Next c
For Each c In Range("N24:N50")
If Left(c, 23) = "Taux de recouvrement GP" Or Left(c, 13) = "Taux de
siren" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = False
End If
Next c
Range("B2").Select
Application.EnableEvents = True
End Sub
cBonjour,
je vous laisse ci joint le code qui me pose problême...
je voudrais que toutes les modifications executées par ce code sur un d es
onglets puissent declencher ces memes actions simultanément sur les aut res
onglets en sachant que ce code est le même pour toutes les feuilles
correspondant aux onglets..
pour l'instant, seul fonctionne simultanément la partie suivante:
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
mais les autres actions concernant le formatage ne fonctionne que sur
l'onglet déclencheur....
j'ai épuisé toutes mes connaissances mais en vain...
Merci de votre soutien
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Target.Address <> "$B$12" And Target.Address <> "$B$5" Then Exit Sub
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
For Each c In Range("I54:I73")
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = " Qual" Or
Left(c, 1) = "%" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00%"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0"
End If
Next c
For Each c In Range("N24:N50")
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = " Qual" Or
Left(c, 1) = "%" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00%"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00"
End If
Next c
For Each c In Range("B26:B44")
If Left(c, 4) = "Nomb" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.0"
End If
Next c
For Each c In Range("H5:H18")
If Left(c, 4) = "EFFC" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).NumberFormat = "0"
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).NumberFormat = "0.0"
End If
Next c
For Each c In Range("H5:H18")
If Left(c, 12) = "EFFCDI Total" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).Select
Selection.Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).Select
Selection.Font.Bold = False
End If
Next c
For Each c In Range("I54:I73")
If Left(c, 33) = "Efficience processus Grand Public" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = False
End If
Next c
For Each c In Range("N24:N50")
If Left(c, 23) = "Taux de recouvrement GP" Or Left(c, 13) = "Taux de
siren" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = False
End If
Next c
Range("B2").Select
Application.EnableEvents = True
End Sub
--
ALF
cBonjour,
je vous laisse ci joint le code qui me pose problême...
je voudrais que toutes les modifications executées par ce code sur un d es
onglets puissent declencher ces memes actions simultanément sur les aut res
onglets en sachant que ce code est le même pour toutes les feuilles
correspondant aux onglets..
pour l'instant, seul fonctionne simultanément la partie suivante:
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
mais les autres actions concernant le formatage ne fonctionne que sur
l'onglet déclencheur....
j'ai épuisé toutes mes connaissances mais en vain...
Merci de votre soutien
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Target.Address <> "$B$12" And Target.Address <> "$B$5" Then Exit Sub
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
For Each c In Range("I54:I73")
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = " Qual" Or
Left(c, 1) = "%" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00%"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0"
End If
Next c
For Each c In Range("N24:N50")
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = " Qual" Or
Left(c, 1) = "%" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00%"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00"
End If
Next c
For Each c In Range("B26:B44")
If Left(c, 4) = "Nomb" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.0"
End If
Next c
For Each c In Range("H5:H18")
If Left(c, 4) = "EFFC" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).NumberFormat = "0"
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).NumberFormat = "0.0"
End If
Next c
For Each c In Range("H5:H18")
If Left(c, 12) = "EFFCDI Total" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).Select
Selection.Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).Select
Selection.Font.Bold = False
End If
Next c
For Each c In Range("I54:I73")
If Left(c, 33) = "Efficience processus Grand Public" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = False
End If
Next c
For Each c In Range("N24:N50")
If Left(c, 23) = "Taux de recouvrement GP" Or Left(c, 13) = "Taux de
siren" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = False
End If
Next c
Range("B2").Select
Application.EnableEvents = True
End Sub
--
ALF
cBonjour,
je vous laisse ci joint le code qui me pose problême...
je voudrais que toutes les modifications executées par ce code sur un d es
onglets puissent declencher ces memes actions simultanément sur les aut res
onglets en sachant que ce code est le même pour toutes les feuilles
correspondant aux onglets..
pour l'instant, seul fonctionne simultanément la partie suivante:
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
mais les autres actions concernant le formatage ne fonctionne que sur
l'onglet déclencheur....
j'ai épuisé toutes mes connaissances mais en vain...
Merci de votre soutien
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Target.Address <> "$B$12" And Target.Address <> "$B$5" Then Exit Sub
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
For Each c In Range("I54:I73")
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = " Qual" Or
Left(c, 1) = "%" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00%"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0"
End If
Next c
For Each c In Range("N24:N50")
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = " Qual" Or
Left(c, 1) = "%" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00%"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00"
End If
Next c
For Each c In Range("B26:B44")
If Left(c, 4) = "Nomb" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.0"
End If
Next c
For Each c In Range("H5:H18")
If Left(c, 4) = "EFFC" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).NumberFormat = "0"
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).NumberFormat = "0.0"
End If
Next c
For Each c In Range("H5:H18")
If Left(c, 12) = "EFFCDI Total" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).Select
Selection.Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).Select
Selection.Font.Bold = False
End If
Next c
For Each c In Range("I54:I73")
If Left(c, 33) = "Efficience processus Grand Public" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = False
End If
Next c
For Each c In Range("N24:N50")
If Left(c, 23) = "Taux de recouvrement GP" Or Left(c, 13) = "Taux de
siren" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = False
End If
Next c
Range("B2").Select
Application.EnableEvents = True
End Sub
--
ALF
bonjour ALF,
il faut spécifier la feuille à chaque boucle
For Each c In Sheets(s).Range("I54:I73")
et mettre la commande
Next s
à la fin
isabellecBonjour,
je vous laisse ci joint le code qui me pose problême...
je voudrais que toutes les modifications executées par ce code sur un des
onglets puissent declencher ces memes actions simultanément sur les autres
onglets en sachant que ce code est le même pour toutes les feuilles
correspondant aux onglets..
pour l'instant, seul fonctionne simultanément la partie suivante:
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
mais les autres actions concernant le formatage ne fonctionne que sur
l'onglet déclencheur....
j'ai épuisé toutes mes connaissances mais en vain...
Merci de votre soutien
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Target.Address <> "$B$12" And Target.Address <> "$B$5" Then Exit Sub
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
For Each c In Range("I54:I73")
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00%"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0"
End If
Next c
For Each c In Range("N24:N50")
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00%"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00"
End If
Next c
For Each c In Range("B26:B44")
If Left(c, 4) = "Nomb" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.0"
End If
Next c
For Each c In Range("H5:H18")
If Left(c, 4) = "EFFC" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).NumberFormat = "0"
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).NumberFormat = "0.0"
End If
Next c
For Each c In Range("H5:H18")
If Left(c, 12) = "EFFCDI Total" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).Select
Selection.Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).Select
Selection.Font.Bold = False
End If
Next c
For Each c In Range("I54:I73")
If Left(c, 33) = "Efficience processus Grand Public" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = False
End If
Next c
For Each c In Range("N24:N50")
If Left(c, 23) = "Taux de recouvrement GP" Or Left(c, 13) = "Taux de
siren" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = False
End If
Next c
Range("B2").Select
Application.EnableEvents = True
End Sub
bonjour ALF,
il faut spécifier la feuille à chaque boucle
For Each c In Sheets(s).Range("I54:I73")
et mettre la commande
Next s
à la fin
isabelle
cBonjour,
je vous laisse ci joint le code qui me pose problême...
je voudrais que toutes les modifications executées par ce code sur un des
onglets puissent declencher ces memes actions simultanément sur les autres
onglets en sachant que ce code est le même pour toutes les feuilles
correspondant aux onglets..
pour l'instant, seul fonctionne simultanément la partie suivante:
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
mais les autres actions concernant le formatage ne fonctionne que sur
l'onglet déclencheur....
j'ai épuisé toutes mes connaissances mais en vain...
Merci de votre soutien
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Target.Address <> "$B$12" And Target.Address <> "$B$5" Then Exit Sub
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
For Each c In Range("I54:I73")
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00%"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0"
End If
Next c
For Each c In Range("N24:N50")
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00%"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00"
End If
Next c
For Each c In Range("B26:B44")
If Left(c, 4) = "Nomb" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.0"
End If
Next c
For Each c In Range("H5:H18")
If Left(c, 4) = "EFFC" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).NumberFormat = "0"
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).NumberFormat = "0.0"
End If
Next c
For Each c In Range("H5:H18")
If Left(c, 12) = "EFFCDI Total" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).Select
Selection.Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).Select
Selection.Font.Bold = False
End If
Next c
For Each c In Range("I54:I73")
If Left(c, 33) = "Efficience processus Grand Public" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = False
End If
Next c
For Each c In Range("N24:N50")
If Left(c, 23) = "Taux de recouvrement GP" Or Left(c, 13) = "Taux de
siren" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = False
End If
Next c
Range("B2").Select
Application.EnableEvents = True
End Sub
bonjour ALF,
il faut spécifier la feuille à chaque boucle
For Each c In Sheets(s).Range("I54:I73")
et mettre la commande
Next s
à la fin
isabellecBonjour,
je vous laisse ci joint le code qui me pose problême...
je voudrais que toutes les modifications executées par ce code sur un des
onglets puissent declencher ces memes actions simultanément sur les autres
onglets en sachant que ce code est le même pour toutes les feuilles
correspondant aux onglets..
pour l'instant, seul fonctionne simultanément la partie suivante:
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
mais les autres actions concernant le formatage ne fonctionne que sur
l'onglet déclencheur....
j'ai épuisé toutes mes connaissances mais en vain...
Merci de votre soutien
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Target.Address <> "$B$12" And Target.Address <> "$B$5" Then Exit Sub
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
For Each c In Range("I54:I73")
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00%"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0"
End If
Next c
For Each c In Range("N24:N50")
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00%"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00"
End If
Next c
For Each c In Range("B26:B44")
If Left(c, 4) = "Nomb" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.0"
End If
Next c
For Each c In Range("H5:H18")
If Left(c, 4) = "EFFC" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).NumberFormat = "0"
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).NumberFormat = "0.0"
End If
Next c
For Each c In Range("H5:H18")
If Left(c, 12) = "EFFCDI Total" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).Select
Selection.Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).Select
Selection.Font.Bold = False
End If
Next c
For Each c In Range("I54:I73")
If Left(c, 33) = "Efficience processus Grand Public" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = False
End If
Next c
For Each c In Range("N24:N50")
If Left(c, 23) = "Taux de recouvrement GP" Or Left(c, 13) = "Taux de
siren" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).Select
Selection.Font.Bold = False
End If
Next c
Range("B2").Select
Application.EnableEvents = True
End Sub
Bonsoir,
Merci Isabelle,mais une petite précision...
le Next s, le faut il à la fin de chaque boucle ou à la fin du code ???
D' autre part,la macro semble bloquer à "Range(c.Offset(0, 1), c.Offset(0,
6)).Select"
et [B12] et [B5] se mettent en police normale au lieu de la police gras...
peux tu verifier le code stp
merci de ton soutien.
Bonsoir,
Merci Isabelle,mais une petite précision...
le Next s, le faut il à la fin de chaque boucle ou à la fin du code ???
D' autre part,la macro semble bloquer à "Range(c.Offset(0, 1), c.Offset(0,
6)).Select"
et [B12] et [B5] se mettent en police normale au lieu de la police gras...
peux tu verifier le code stp
merci de ton soutien.
Bonsoir,
Merci Isabelle,mais une petite précision...
le Next s, le faut il à la fin de chaque boucle ou à la fin du code ???
D' autre part,la macro semble bloquer à "Range(c.Offset(0, 1), c.Offset(0,
6)).Select"
et [B12] et [B5] se mettent en police normale au lieu de la police gras...
peux tu verifier le code stp
merci de ton soutien.
bonjour Alf,
pour évité de reprendre (Sheets(s)) tout au long de la macro tu peut sélectionner la feuille au début
et (Next s) va à la fin de la macro avant ou après (Range("B2").Select) tout dépend si tu veux
que cette cellule soit sélectionner sur chaque feuille
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Target.Address <> "$B$12" And Target.Address <> "$B$5" Then Exit Sub
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges", "Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).select '<------------------------------------------------------------ici
[B12] = mois
[B5] = indic
For Each c In Range("I54:I73")
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00%"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0"
End If
Next c
For Each c In Range("N24:N50")
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00%"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00"
End If
Next c
For Each c In Range("B26:B44")
If Left(c, 4) = "Nomb" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.0"
End If
Next c
For Each c In Range("H5:H18")
If Left(c, 4) = "EFFC" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).NumberFormat = "0"
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).NumberFormat = "0.0"
End If
Next c
For Each c In Range("H5:H18")
If Left(c, 12) = "EFFCDI Total" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).Font.Bold = True'<---------------------------ici
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).Font.Bold = False
End If
Next c
For Each c In Range("I54:I73")
If Left(c, 33) = "Efficience processus Grand Public" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).Font.Bold = False
End If
Next c
For Each c In Range("N24:N50")
If Left(c, 23) = "Taux de recouvrement GP" Or Left(c, 13) = "Taux de
siren" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).Font.Bold = False
End If
Next c
Next s '<------------------------------------------------------------ici
Range("B2").Select
Application.EnableEvents = True
isabelle
End SubBonsoir,
Merci Isabelle,mais une petite précision...
le Next s, le faut il à la fin de chaque boucle ou à la fin du code ???
D' autre part,la macro semble bloquer à "Range(c.Offset(0, 1), c.Offset(0,
6)).Select"
et [B12] et [B5] se mettent en police normale au lieu de la police gras...
peux tu verifier le code stp
merci de ton soutien.
bonjour Alf,
pour évité de reprendre (Sheets(s)) tout au long de la macro tu peut sélectionner la feuille au début
et (Next s) va à la fin de la macro avant ou après (Range("B2").Select) tout dépend si tu veux
que cette cellule soit sélectionner sur chaque feuille
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Target.Address <> "$B$12" And Target.Address <> "$B$5" Then Exit Sub
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges", "Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).select '<------------------------------------------------------------ici
[B12] = mois
[B5] = indic
For Each c In Range("I54:I73")
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00%"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0"
End If
Next c
For Each c In Range("N24:N50")
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00%"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00"
End If
Next c
For Each c In Range("B26:B44")
If Left(c, 4) = "Nomb" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.0"
End If
Next c
For Each c In Range("H5:H18")
If Left(c, 4) = "EFFC" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).NumberFormat = "0"
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).NumberFormat = "0.0"
End If
Next c
For Each c In Range("H5:H18")
If Left(c, 12) = "EFFCDI Total" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).Font.Bold = True'<---------------------------ici
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).Font.Bold = False
End If
Next c
For Each c In Range("I54:I73")
If Left(c, 33) = "Efficience processus Grand Public" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).Font.Bold = False
End If
Next c
For Each c In Range("N24:N50")
If Left(c, 23) = "Taux de recouvrement GP" Or Left(c, 13) = "Taux de
siren" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).Font.Bold = False
End If
Next c
Next s '<------------------------------------------------------------ici
Range("B2").Select
Application.EnableEvents = True
isabelle
End Sub
Bonsoir,
Merci Isabelle,mais une petite précision...
le Next s, le faut il à la fin de chaque boucle ou à la fin du code ???
D' autre part,la macro semble bloquer à "Range(c.Offset(0, 1), c.Offset(0,
6)).Select"
et [B12] et [B5] se mettent en police normale au lieu de la police gras...
peux tu verifier le code stp
merci de ton soutien.
bonjour Alf,
pour évité de reprendre (Sheets(s)) tout au long de la macro tu peut sélectionner la feuille au début
et (Next s) va à la fin de la macro avant ou après (Range("B2").Select) tout dépend si tu veux
que cette cellule soit sélectionner sur chaque feuille
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Target.Address <> "$B$12" And Target.Address <> "$B$5" Then Exit Sub
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges", "Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).select '<------------------------------------------------------------ici
[B12] = mois
[B5] = indic
For Each c In Range("I54:I73")
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00%"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0"
End If
Next c
For Each c In Range("N24:N50")
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00%"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.00"
End If
Next c
For Each c In Range("B26:B44")
If Left(c, 4) = "Nomb" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0"
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.0"
End If
Next c
For Each c In Range("H5:H18")
If Left(c, 4) = "EFFC" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).NumberFormat = "0"
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).NumberFormat = "0.0"
End If
Next c
For Each c In Range("H5:H18")
If Left(c, 12) = "EFFCDI Total" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).Font.Bold = True'<---------------------------ici
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).Font.Bold = False
End If
Next c
For Each c In Range("I54:I73")
If Left(c, 33) = "Efficience processus Grand Public" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).Font.Bold = False
End If
Next c
For Each c In Range("N24:N50")
If Left(c, 23) = "Taux de recouvrement GP" Or Left(c, 13) = "Taux de
siren" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 5)).Font.Bold = False
End If
Next c
Next s '<------------------------------------------------------------ici
Range("B2").Select
Application.EnableEvents = True
isabelle
End SubBonsoir,
Merci Isabelle,mais une petite précision...
le Next s, le faut il à la fin de chaque boucle ou à la fin du code ???
D' autre part,la macro semble bloquer à "Range(c.Offset(0, 1), c.Offset(0,
6)).Select"
et [B12] et [B5] se mettent en police normale au lieu de la police gras...
peux tu verifier le code stp
merci de ton soutien.
bonsoir isabelle ,
Merci encore pour ta reponse..
et je te confirme que la modification du code que tu m'a proposé
fonctionne
parfaitement..
je l'ai appliqué sur Thisworkbook plutot que sur toutes les feuilles pour
eviter la repetition des modif comme me l'avais proposé Isteph..
Mais un dernier "petit" problême est apparu,à savoir que par exemple si je
suis sur la feuille NATIONAL et que je déclenche la macro,on voit à
l'écran
toutes les feuilles se succeder pour aboutir à la feuille ST OMER et non
plus
NATIONAL...
Serait il possible d'éviter de voir ces feuilles apparaitre et faire en
sorte que la feuille initiale reste jusqu'a la fin de l execution de la
macro
et donc que les actions sur les autres feuilles ne soient pas visibles???
Merci encore de votre aide
--
ALF
bonsoir isabelle ,
Merci encore pour ta reponse..
et je te confirme que la modification du code que tu m'a proposé
fonctionne
parfaitement..
je l'ai appliqué sur Thisworkbook plutot que sur toutes les feuilles pour
eviter la repetition des modif comme me l'avais proposé Isteph..
Mais un dernier "petit" problême est apparu,à savoir que par exemple si je
suis sur la feuille NATIONAL et que je déclenche la macro,on voit à
l'écran
toutes les feuilles se succeder pour aboutir à la feuille ST OMER et non
plus
NATIONAL...
Serait il possible d'éviter de voir ces feuilles apparaitre et faire en
sorte que la feuille initiale reste jusqu'a la fin de l execution de la
macro
et donc que les actions sur les autres feuilles ne soient pas visibles???
Merci encore de votre aide
--
ALF
bonsoir isabelle ,
Merci encore pour ta reponse..
et je te confirme que la modification du code que tu m'a proposé
fonctionne
parfaitement..
je l'ai appliqué sur Thisworkbook plutot que sur toutes les feuilles pour
eviter la repetition des modif comme me l'avais proposé Isteph..
Mais un dernier "petit" problême est apparu,à savoir que par exemple si je
suis sur la feuille NATIONAL et que je déclenche la macro,on voit à
l'écran
toutes les feuilles se succeder pour aboutir à la feuille ST OMER et non
plus
NATIONAL...
Serait il possible d'éviter de voir ces feuilles apparaitre et faire en
sorte que la feuille initiale reste jusqu'a la fin de l execution de la
macro
et donc que les actions sur les autres feuilles ne soient pas visibles???
Merci encore de votre aide
--
ALF