Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

a l'ouverture classeur,positionnement sur un choix de liste deroul

11 réponses
Avatar
ALF
Bonjour,

J'aimerais qu' à l'ouverture du classeur,on sélectionne l'ascenseur de la
liste déroulante qui se trouve sur la cellule B5 et sur l'onglet NATIONAL, et
que l'on se positionne sur le choix "Global_DRCTX" ,la macro devant alors
s"executer sur ce choix la...

je vous laisse le code a l'ouverture du classeur ,qui me semble incomplet
pour arriver a cela....
actuellement,A l'ouverture du classeur,le positionnement est en fait le
dernier choix effectué avant la précédente fermeture du classeur..ce que je
ne veux pas..

j'aimerais que si par ex l'on a choisi le choix "Impayés_du_Fixe" avant la
fermeture,on ai a l'ouverture le choix "Global_DRCTX"

Voici le code
Private Sub Workbook_Open()


Application.ScreenUpdating = False
Application.DisplayAlerts = False

For Each Sh In Sheets
Sh.Visible = True
Next Sh

Sheets(1).Visible = xlVeryHidden

Sheets("Impayés_E_du_Fixe").Visible = False
Sheets("Procédures_Collectives_E").Visible = False
Sheets("Commentaires").Visible = False
Sheets("Config").Visible = False
Sheets("Graphes").Visible = False
Sheets("Fiches_Label_Indicateurs").Visible = False

With Application
.EnableEvents = False
.Goto Reference:="National!R5C2"
.EnableEvents = True
.DisplayAlerts = True
End With

End Sub


Merci de votre soutien


--
ALF

10 réponses

1 2
Avatar
FFO
Salut à toi

Peut être rajouter dans ce code la ligne :
Sheets("NATIONAL").Range("B5") = "Global_DRCTX"

A essayer !!!

Dis moi !!!


Bonjour,

J'aimerais qu' à l'ouverture du classeur,on sélectionne l'ascenseur de la
liste déroulante qui se trouve sur la cellule B5 et sur l'onglet NATIONAL, et
que l'on se positionne sur le choix "Global_DRCTX" ,la macro devant alors
s"executer sur ce choix la...

je vous laisse le code a l'ouverture du classeur ,qui me semble incomplet
pour arriver a cela....
actuellement,A l'ouverture du classeur,le positionnement est en fait le
dernier choix effectué avant la précédente fermeture du classeur..ce que je
ne veux pas..

j'aimerais que si par ex l'on a choisi le choix "Impayés_du_Fixe" avant la
fermeture,on ai a l'ouverture le choix "Global_DRCTX"

Voici le code
Private Sub Workbook_Open()


Application.ScreenUpdating = False
Application.DisplayAlerts = False

For Each Sh In Sheets
Sh.Visible = True
Next Sh

Sheets(1).Visible = xlVeryHidden

Sheets("Impayés_E_du_Fixe").Visible = False
Sheets("Procédures_Collectives_E").Visible = False
Sheets("Commentaires").Visible = False
Sheets("Config").Visible = False
Sheets("Graphes").Visible = False
Sheets("Fiches_Label_Indicateurs").Visible = False

With Application
.EnableEvents = False
.Goto Reference:="National!R5C2"
.EnableEvents = True
.DisplayAlerts = True
End With

End Sub


Merci de votre soutien


--
ALF


Avatar
Philippe.R
Bonjour ALF,
Cette liste déroulante, qu'est ce exactement ?
une liste de validation de la feuille ?
une liste modifiable de la barre d'outils formulaire ,
une liste de la barre d'outils contrôles ?
--
Avec plaisir
Philippe.R
"ALF" a écrit dans le message de
news:
Bonjour,

J'aimerais qu' à l'ouverture du classeur,on sélectionne l'ascenseur de la
liste déroulante qui se trouve sur la cellule B5 et sur l'onglet NATIONAL,
et
que l'on se positionne sur le choix "Global_DRCTX" ,la macro devant alors
s"executer sur ce choix la...

je vous laisse le code a l'ouverture du classeur ,qui me semble incomplet
pour arriver a cela....
actuellement,A l'ouverture du classeur,le positionnement est en fait le
dernier choix effectué avant la précédente fermeture du classeur..ce que
je
ne veux pas..

j'aimerais que si par ex l'on a choisi le choix "Impayés_du_Fixe" avant la
fermeture,on ai a l'ouverture le choix "Global_DRCTX"

Voici le code
Private Sub Workbook_Open()


Application.ScreenUpdating = False
Application.DisplayAlerts = False

For Each Sh In Sheets
Sh.Visible = True
Next Sh

Sheets(1).Visible = xlVeryHidden

Sheets("Impayés_E_du_Fixe").Visible = False
Sheets("Procédures_Collectives_E").Visible = False
Sheets("Commentaires").Visible = False
Sheets("Config").Visible = False
Sheets("Graphes").Visible = False
Sheets("Fiches_Label_Indicateurs").Visible = False

With Application
.EnableEvents = False
.Goto Reference:="National!R5C2"
.EnableEvents = True
.DisplayAlerts = True
End With

End Sub


Merci de votre soutien


--
ALF


Avatar
ALF
bonjour,

il s'agit d'une liste de validation...

merci
--
ALF



Bonjour ALF,
Cette liste déroulante, qu'est ce exactement ?
une liste de validation de la feuille ?
une liste modifiable de la barre d'outils formulaire ,
une liste de la barre d'outils contrôles ?
--
Avec plaisir
Philippe.R
"ALF" a écrit dans le message de
news:
Bonjour,

J'aimerais qu' à l'ouverture du classeur,on sélectionne l'ascenseur de la
liste déroulante qui se trouve sur la cellule B5 et sur l'onglet NATIONAL,
et
que l'on se positionne sur le choix "Global_DRCTX" ,la macro devant alors
s"executer sur ce choix la...

je vous laisse le code a l'ouverture du classeur ,qui me semble incomplet
pour arriver a cela....
actuellement,A l'ouverture du classeur,le positionnement est en fait le
dernier choix effectué avant la précédente fermeture du classeur..ce que
je
ne veux pas..

j'aimerais que si par ex l'on a choisi le choix "Impayés_du_Fixe" avant la
fermeture,on ai a l'ouverture le choix "Global_DRCTX"

Voici le code
Private Sub Workbook_Open()


Application.ScreenUpdating = False
Application.DisplayAlerts = False

For Each Sh In Sheets
Sh.Visible = True
Next Sh

Sheets(1).Visible = xlVeryHidden

Sheets("Impayés_E_du_Fixe").Visible = False
Sheets("Procédures_Collectives_E").Visible = False
Sheets("Commentaires").Visible = False
Sheets("Config").Visible = False
Sheets("Graphes").Visible = False
Sheets("Fiches_Label_Indicateurs").Visible = False

With Application
.EnableEvents = False
.Goto Reference:="National!R5C2"
.EnableEvents = True
.DisplayAlerts = True
End With

End Sub


Merci de votre soutien


--
ALF






Avatar
ALF
Bonjour,

Apparemment ,cela se positionne bien sur l'onglet NATIONAL choix
Global_DRCTX mais par contre et cela est génant,la macro ne s'est pas activé
sur ce choix...
il ne doit pas manquer grand chose...

il faut noter que la liste deroulante est issu de données/validation...

Merci encore pour ton soutien
--
ALF



Salut à toi

Peut être rajouter dans ce code la ligne :
Sheets("NATIONAL").Range("B5") = "Global_DRCTX"

A essayer !!!

Dis moi !!!


Bonjour,

J'aimerais qu' à l'ouverture du classeur,on sélectionne l'ascenseur de la
liste déroulante qui se trouve sur la cellule B5 et sur l'onglet NATIONAL, et
que l'on se positionne sur le choix "Global_DRCTX" ,la macro devant alors
s"executer sur ce choix la...

je vous laisse le code a l'ouverture du classeur ,qui me semble incomplet
pour arriver a cela....
actuellement,A l'ouverture du classeur,le positionnement est en fait le
dernier choix effectué avant la précédente fermeture du classeur..ce que je
ne veux pas..

j'aimerais que si par ex l'on a choisi le choix "Impayés_du_Fixe" avant la
fermeture,on ai a l'ouverture le choix "Global_DRCTX"

Voici le code
Private Sub Workbook_Open()


Application.ScreenUpdating = False
Application.DisplayAlerts = False

For Each Sh In Sheets
Sh.Visible = True
Next Sh

Sheets(1).Visible = xlVeryHidden

Sheets("Impayés_E_du_Fixe").Visible = False
Sheets("Procédures_Collectives_E").Visible = False
Sheets("Commentaires").Visible = False
Sheets("Config").Visible = False
Sheets("Graphes").Visible = False
Sheets("Fiches_Label_Indicateurs").Visible = False

With Application
.EnableEvents = False
.Goto Reference:="National!R5C2"
.EnableEvents = True
.DisplayAlerts = True
End With

End Sub


Merci de votre soutien


--
ALF




Avatar
FFO
Rebonjour à toi

Qu'entends tu par "la macro ne s'est pas activé sur ce choix..."

Peux tu me donner des détailles

Merci



Bonjour,

Apparemment ,cela se positionne bien sur l'onglet NATIONAL choix
Global_DRCTX mais par contre et cela est génant,la macro ne s'est pas activé
sur ce choix...
il ne doit pas manquer grand chose...

il faut noter que la liste deroulante est issu de données/validation...

Merci encore pour ton soutien
--
ALF



Salut à toi

Peut être rajouter dans ce code la ligne :
Sheets("NATIONAL").Range("B5") = "Global_DRCTX"

A essayer !!!

Dis moi !!!


Bonjour,

J'aimerais qu' à l'ouverture du classeur,on sélectionne l'ascenseur de la
liste déroulante qui se trouve sur la cellule B5 et sur l'onglet NATIONAL, et
que l'on se positionne sur le choix "Global_DRCTX" ,la macro devant alors
s"executer sur ce choix la...

je vous laisse le code a l'ouverture du classeur ,qui me semble incomplet
pour arriver a cela....
actuellement,A l'ouverture du classeur,le positionnement est en fait le
dernier choix effectué avant la précédente fermeture du classeur..ce que je
ne veux pas..

j'aimerais que si par ex l'on a choisi le choix "Impayés_du_Fixe" avant la
fermeture,on ai a l'ouverture le choix "Global_DRCTX"

Voici le code
Private Sub Workbook_Open()


Application.ScreenUpdating = False
Application.DisplayAlerts = False

For Each Sh In Sheets
Sh.Visible = True
Next Sh

Sheets(1).Visible = xlVeryHidden

Sheets("Impayés_E_du_Fixe").Visible = False
Sheets("Procédures_Collectives_E").Visible = False
Sheets("Commentaires").Visible = False
Sheets("Config").Visible = False
Sheets("Graphes").Visible = False
Sheets("Fiches_Label_Indicateurs").Visible = False

With Application
.EnableEvents = False
.Goto Reference:="National!R5C2"
.EnableEvents = True
.DisplayAlerts = True
End With

End Sub


Merci de votre soutien


--
ALF






Avatar
ALF
re,

une fois que le classeur est ouvert,il y a une macro qui se déclenche
lorsque le choix sur B5 est fait..
j'aimerais donc,que à l'ouverture puisque l'on a choisi sur B5
"Global_DRCTX" cette macro s'active..
je te laisse cette macro.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Dim c As Range
Dim s As Object


Set Existance = Worksheets("Config").Columns(1).Find(Sh.Name,
LookIn:=xlValues, LookAt:=xlWhole)
If Existance Is Nothing Then Exit Sub
If Target.Address <> "$B$12" And Target.Address <> "$B$5" Then Exit Sub

Application.ScreenUpdating = False
Application.EnableEvents = False

mois = [B12]
indic = [B5]

For Each s In Sheets("Config").Range("A1:A" &
Sheets("Config").Range("A65536").End(3).Row)
Sheets("" & s & "").Select
Application.EnableEvents = False
[B12] = mois
[B5] = indic
Application.EnableEvents = True

Set plage = Union(Range("I54:I61"), Range("I63:I73"))
For Each c In plage
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Or Left(c, 3) = "EFR" 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
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, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Or Left(c, 3) = "EFR" 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
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

For Each c In Range("N24:N50")
If Left(c, 4) = "Nive" Or Left(c, 28) = "Dossier moyen RJ LJ directes" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.0"
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"
End If
Next c

For Each c In Range("H5:H18")
If Left(c, 4) = "EFFC" Or Left(c, 11) = "Départs EXT" 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
If Left(c, 12) = "EFFCDI Total" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).Font.Bold = False
End If
If Left(c, 11) = "Départs EXT" Or Left(c, 12) = "EFFCDI Total" Then
Range(c.Offset(0, 3), c.Offset(0, 3)).Font.Bold = True
Else
Range(c.Offset(0, 3), c.Offset(0, 3)).Font.Bold = False
End If
Next c


If Target.Address = "$B$5" Or Target.Address = "$B$12" Then
nomchamp = [B5] & "_" & [B12]
On Error Resume Next
Sheets("Commentaires").Visible = True
Sheets("Commentaires").Range(nomchamp).Copy [B48]
Sheets("" & s & "").Select
End If


Range("B5").Select
ActiveWindow.ScrollRow = 1
ActiveWindow.ScrollColumn = 1

Next s
Sh.Select


Sheets("Commentaires").Visible = False


Application.EnableEvents = True
Application.ScreenUpdating = True

End Sub


Merci encore

--
ALF



Rebonjour à toi

Qu'entends tu par "la macro ne s'est pas activé sur ce choix..."

Peux tu me donner des détailles

Merci



Bonjour,

Apparemment ,cela se positionne bien sur l'onglet NATIONAL choix
Global_DRCTX mais par contre et cela est génant,la macro ne s'est pas activé
sur ce choix...
il ne doit pas manquer grand chose...

il faut noter que la liste deroulante est issu de données/validation...

Merci encore pour ton soutien
--
ALF



Salut à toi

Peut être rajouter dans ce code la ligne :
Sheets("NATIONAL").Range("B5") = "Global_DRCTX"

A essayer !!!

Dis moi !!!


Bonjour,

J'aimerais qu' à l'ouverture du classeur,on sélectionne l'ascenseur de la
liste déroulante qui se trouve sur la cellule B5 et sur l'onglet NATIONAL, et
que l'on se positionne sur le choix "Global_DRCTX" ,la macro devant alors
s"executer sur ce choix la...

je vous laisse le code a l'ouverture du classeur ,qui me semble incomplet
pour arriver a cela....
actuellement,A l'ouverture du classeur,le positionnement est en fait le
dernier choix effectué avant la précédente fermeture du classeur..ce que je
ne veux pas..

j'aimerais que si par ex l'on a choisi le choix "Impayés_du_Fixe" avant la
fermeture,on ai a l'ouverture le choix "Global_DRCTX"

Voici le code
Private Sub Workbook_Open()


Application.ScreenUpdating = False
Application.DisplayAlerts = False

For Each Sh In Sheets
Sh.Visible = True
Next Sh

Sheets(1).Visible = xlVeryHidden

Sheets("Impayés_E_du_Fixe").Visible = False
Sheets("Procédures_Collectives_E").Visible = False
Sheets("Commentaires").Visible = False
Sheets("Config").Visible = False
Sheets("Graphes").Visible = False
Sheets("Fiches_Label_Indicateurs").Visible = False

With Application
.EnableEvents = False
.Goto Reference:="National!R5C2"
.EnableEvents = True
.DisplayAlerts = True
End With

End Sub


Merci de votre soutien


--
ALF








Avatar
FFO
Rebonjour à toi

Attention la Macro évennementiel intitulé "Private Sub
Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)" ne se
déclenche que quant la cellule décrite dans son code (ici "B5" ou B12) change
de valeur
Or la ligne que je t'ai proposé n'a pour but que de mettre une valeur
initial et non de provoquer un changement de valeur de cette cellule
La macro évennementiel ne s'active donc pas

Du manière générale ces types de macro ne réagissent qu'aprés un évennement
comme leur nom l'indique déclenché par une action de l'utilisateur

Il sera donc difficile par une instruction d'une macro d'obtenir cet
aboutissement

Je te propose de creer une nouvelle macro qui aura ce même code que tu
déclenchera dans ta macro "Private Sub Workbook_Open() " par la ligne à
intégrer :

Run ("macro") '(a actualiser du nom de cette macro)

Celà devrait convenir

Dis moi


re,

une fois que le classeur est ouvert,il y a une macro qui se déclenche
lorsque le choix sur B5 est fait..
j'aimerais donc,que à l'ouverture puisque l'on a choisi sur B5
"Global_DRCTX" cette macro s'active..
je te laisse cette macro.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Dim c As Range
Dim s As Object


Set Existance = Worksheets("Config").Columns(1).Find(Sh.Name,
LookIn:=xlValues, LookAt:=xlWhole)
If Existance Is Nothing Then Exit Sub
If Target.Address <> "$B$12" And Target.Address <> "$B$5" Then Exit Sub

Application.ScreenUpdating = False
Application.EnableEvents = False

mois = [B12]
indic = [B5]

For Each s In Sheets("Config").Range("A1:A" &
Sheets("Config").Range("A65536").End(3).Row)
Sheets("" & s & "").Select
Application.EnableEvents = False
[B12] = mois
[B5] = indic
Application.EnableEvents = True

Set plage = Union(Range("I54:I61"), Range("I63:I73"))
For Each c In plage
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Or Left(c, 3) = "EFR" 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
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, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Or Left(c, 3) = "EFR" 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
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

For Each c In Range("N24:N50")
If Left(c, 4) = "Nive" Or Left(c, 28) = "Dossier moyen RJ LJ directes" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.0"
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"
End If
Next c

For Each c In Range("H5:H18")
If Left(c, 4) = "EFFC" Or Left(c, 11) = "Départs EXT" 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
If Left(c, 12) = "EFFCDI Total" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).Font.Bold = False
End If
If Left(c, 11) = "Départs EXT" Or Left(c, 12) = "EFFCDI Total" Then
Range(c.Offset(0, 3), c.Offset(0, 3)).Font.Bold = True
Else
Range(c.Offset(0, 3), c.Offset(0, 3)).Font.Bold = False
End If
Next c


If Target.Address = "$B$5" Or Target.Address = "$B$12" Then
nomchamp = [B5] & "_" & [B12]
On Error Resume Next
Sheets("Commentaires").Visible = True
Sheets("Commentaires").Range(nomchamp).Copy [B48]
Sheets("" & s & "").Select
End If


Range("B5").Select
ActiveWindow.ScrollRow = 1
ActiveWindow.ScrollColumn = 1

Next s
Sh.Select


Sheets("Commentaires").Visible = False


Application.EnableEvents = True
Application.ScreenUpdating = True

End Sub


Merci encore

--
ALF



Rebonjour à toi

Qu'entends tu par "la macro ne s'est pas activé sur ce choix..."

Peux tu me donner des détailles

Merci



Bonjour,

Apparemment ,cela se positionne bien sur l'onglet NATIONAL choix
Global_DRCTX mais par contre et cela est génant,la macro ne s'est pas activé
sur ce choix...
il ne doit pas manquer grand chose...

il faut noter que la liste deroulante est issu de données/validation...

Merci encore pour ton soutien
--
ALF



Salut à toi

Peut être rajouter dans ce code la ligne :
Sheets("NATIONAL").Range("B5") = "Global_DRCTX"

A essayer !!!

Dis moi !!!


Bonjour,

J'aimerais qu' à l'ouverture du classeur,on sélectionne l'ascenseur de la
liste déroulante qui se trouve sur la cellule B5 et sur l'onglet NATIONAL, et
que l'on se positionne sur le choix "Global_DRCTX" ,la macro devant alors
s"executer sur ce choix la...

je vous laisse le code a l'ouverture du classeur ,qui me semble incomplet
pour arriver a cela....
actuellement,A l'ouverture du classeur,le positionnement est en fait le
dernier choix effectué avant la précédente fermeture du classeur..ce que je
ne veux pas..

j'aimerais que si par ex l'on a choisi le choix "Impayés_du_Fixe" avant la
fermeture,on ai a l'ouverture le choix "Global_DRCTX"

Voici le code
Private Sub Workbook_Open()


Application.ScreenUpdating = False
Application.DisplayAlerts = False

For Each Sh In Sheets
Sh.Visible = True
Next Sh

Sheets(1).Visible = xlVeryHidden

Sheets("Impayés_E_du_Fixe").Visible = False
Sheets("Procédures_Collectives_E").Visible = False
Sheets("Commentaires").Visible = False
Sheets("Config").Visible = False
Sheets("Graphes").Visible = False
Sheets("Fiches_Label_Indicateurs").Visible = False

With Application
.EnableEvents = False
.Goto Reference:="National!R5C2"
.EnableEvents = True
.DisplayAlerts = True
End With

End Sub


Merci de votre soutien


--
ALF










Avatar
ALF
re,

j'ai fait comme tu m'as indiqué et j'ai le message suivant: erreur
d'execution 424: Objet requis

lorsque je fais debogage, j'ai cette ligne de code qui m'est souligné:
Set Existance = Worksheets("Config").Columns(1).Find(Sh.Name,
LookIn:=xlValues, LookAt:=xlWhole)

Config est une feuille qui est cachée et normalement on n'a pas besoin de
l'ouvrir...
que se passe t il???

Merci

je te laisse la macro d'ouverture modifiée...

Private Sub Workbook_Open()


Application.ScreenUpdating = False
Application.DisplayAlerts = False

For Each Sh In Sheets
Sh.Visible = True
Next Sh

Sheets(1).Visible = xlVeryHidden

Sheets("Impayés_E_du_Fixe").Visible = False
Sheets("Procédures_Collectives_E").Visible = False
Sheets("Commentaires").Visible = False
Sheets("Config").Visible = False
Sheets("Graphes").Visible = False
Sheets("Fiches_Label_Indicateurs").Visible = False

With Application
.EnableEvents = False
.Goto Reference:="National!R5C2"
.Sheets("NATIONAL").Range("B5") = "Global_DRCTX"
.Run ("declench_macro_ouverture")
.EnableEvents = True
.DisplayAlerts = True
End With

End Sub

Merci encore pour ton aide
--
ALF



Rebonjour à toi

Attention la Macro évennementiel intitulé "Private Sub
Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)" ne se
déclenche que quant la cellule décrite dans son code (ici "B5" ou B12) change
de valeur
Or la ligne que je t'ai proposé n'a pour but que de mettre une valeur
initial et non de provoquer un changement de valeur de cette cellule
La macro évennementiel ne s'active donc pas

Du manière générale ces types de macro ne réagissent qu'aprés un évennement
comme leur nom l'indique déclenché par une action de l'utilisateur

Il sera donc difficile par une instruction d'une macro d'obtenir cet
aboutissement

Je te propose de creer une nouvelle macro qui aura ce même code que tu
déclenchera dans ta macro "Private Sub Workbook_Open() " par la ligne à
intégrer :

Run ("macro") '(a actualiser du nom de cette macro)

Celà devrait convenir

Dis moi


re,

une fois que le classeur est ouvert,il y a une macro qui se déclenche
lorsque le choix sur B5 est fait..
j'aimerais donc,que à l'ouverture puisque l'on a choisi sur B5
"Global_DRCTX" cette macro s'active..
je te laisse cette macro.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Dim c As Range
Dim s As Object


Set Existance = Worksheets("Config").Columns(1).Find(Sh.Name,
LookIn:=xlValues, LookAt:=xlWhole)
If Existance Is Nothing Then Exit Sub
If Target.Address <> "$B$12" And Target.Address <> "$B$5" Then Exit Sub

Application.ScreenUpdating = False
Application.EnableEvents = False

mois = [B12]
indic = [B5]

For Each s In Sheets("Config").Range("A1:A" &
Sheets("Config").Range("A65536").End(3).Row)
Sheets("" & s & "").Select
Application.EnableEvents = False
[B12] = mois
[B5] = indic
Application.EnableEvents = True

Set plage = Union(Range("I54:I61"), Range("I63:I73"))
For Each c In plage
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Or Left(c, 3) = "EFR" 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
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, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Or Left(c, 3) = "EFR" 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
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

For Each c In Range("N24:N50")
If Left(c, 4) = "Nive" Or Left(c, 28) = "Dossier moyen RJ LJ directes" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.0"
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"
End If
Next c

For Each c In Range("H5:H18")
If Left(c, 4) = "EFFC" Or Left(c, 11) = "Départs EXT" 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
If Left(c, 12) = "EFFCDI Total" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).Font.Bold = False
End If
If Left(c, 11) = "Départs EXT" Or Left(c, 12) = "EFFCDI Total" Then
Range(c.Offset(0, 3), c.Offset(0, 3)).Font.Bold = True
Else
Range(c.Offset(0, 3), c.Offset(0, 3)).Font.Bold = False
End If
Next c


If Target.Address = "$B$5" Or Target.Address = "$B$12" Then
nomchamp = [B5] & "_" & [B12]
On Error Resume Next
Sheets("Commentaires").Visible = True
Sheets("Commentaires").Range(nomchamp).Copy [B48]
Sheets("" & s & "").Select
End If


Range("B5").Select
ActiveWindow.ScrollRow = 1
ActiveWindow.ScrollColumn = 1

Next s
Sh.Select


Sheets("Commentaires").Visible = False


Application.EnableEvents = True
Application.ScreenUpdating = True

End Sub


Merci encore

--
ALF



Rebonjour à toi

Qu'entends tu par "la macro ne s'est pas activé sur ce choix..."

Peux tu me donner des détailles

Merci



Bonjour,

Apparemment ,cela se positionne bien sur l'onglet NATIONAL choix
Global_DRCTX mais par contre et cela est génant,la macro ne s'est pas activé
sur ce choix...
il ne doit pas manquer grand chose...

il faut noter que la liste deroulante est issu de données/validation...

Merci encore pour ton soutien
--
ALF



Salut à toi

Peut être rajouter dans ce code la ligne :
Sheets("NATIONAL").Range("B5") = "Global_DRCTX"

A essayer !!!

Dis moi !!!


Bonjour,

J'aimerais qu' à l'ouverture du classeur,on sélectionne l'ascenseur de la
liste déroulante qui se trouve sur la cellule B5 et sur l'onglet NATIONAL, et
que l'on se positionne sur le choix "Global_DRCTX" ,la macro devant alors
s"executer sur ce choix la...

je vous laisse le code a l'ouverture du classeur ,qui me semble incomplet
pour arriver a cela....
actuellement,A l'ouverture du classeur,le positionnement est en fait le
dernier choix effectué avant la précédente fermeture du classeur..ce que je
ne veux pas..

j'aimerais que si par ex l'on a choisi le choix "Impayés_du_Fixe" avant la
fermeture,on ai a l'ouverture le choix "Global_DRCTX"

Voici le code
Private Sub Workbook_Open()


Application.ScreenUpdating = False
Application.DisplayAlerts = False

For Each Sh In Sheets
Sh.Visible = True
Next Sh

Sheets(1).Visible = xlVeryHidden

Sheets("Impayés_E_du_Fixe").Visible = False
Sheets("Procédures_Collectives_E").Visible = False
Sheets("Commentaires").Visible = False
Sheets("Config").Visible = False
Sheets("Graphes").Visible = False
Sheets("Fiches_Label_Indicateurs").Visible = False

With Application
.EnableEvents = False
.Goto Reference:="National!R5C2"
.EnableEvents = True
.DisplayAlerts = True
End With

End Sub


Merci de votre soutien


--
ALF












Avatar
FFO
Rebonjour à toi

Si la macro qui se déclenche lorque la cellule B5 est modifiée fonctionne en
utilisation normale il n'y a aucune raison qu"elle ne fonctionne pas dans
une macro classique
C'est bonnet blanc et blanc bonnet
D'un côté le code est exécuté par le changement de valeur de la cellule "B5"
de l'autre par l'activation d'une macro

Vérifies donc que par la modification de "B5" tout fonctionne puis lance la
macro sans utiliser le code évennementiel Private Sub Workbook_Open puis
enregistres fermes et réouvres ton document

Si le test normal par le chagement de "B5" est correct il devrait en être de
même pour les 2 autres

Tu peux malgrés tout tenter de supprimer dans ta macro
"declench_macro_ouverture" les première lignes suivantes :

Set Existance = Worksheets("Config").Columns(1).Find(Sh.Name,
LookIn:=xlValues, LookAt:=xlWhole)
If Existance Is Nothing Then Exit Sub
If Target.Address <> "$B$12" And Target.Address <> "$B$5" Then Exit Sub

Qui à mon sens ne sont utiles que pour le fonctionnement de la macro
évennementielle

Et de réessayer à nouveau en vérifiant le résultat obtenu

Dis moi !!!!


re,

j'ai fait comme tu m'as indiqué et j'ai le message suivant: erreur
d'execution 424: Objet requis

lorsque je fais debogage, j'ai cette ligne de code qui m'est souligné:
Set Existance = Worksheets("Config").Columns(1).Find(Sh.Name,
LookIn:=xlValues, LookAt:=xlWhole)

Config est une feuille qui est cachée et normalement on n'a pas besoin de
l'ouvrir...
que se passe t il???

Merci

je te laisse la macro d'ouverture modifiée...

Private Sub Workbook_Open()


Application.ScreenUpdating = False
Application.DisplayAlerts = False

For Each Sh In Sheets
Sh.Visible = True
Next Sh

Sheets(1).Visible = xlVeryHidden

Sheets("Impayés_E_du_Fixe").Visible = False
Sheets("Procédures_Collectives_E").Visible = False
Sheets("Commentaires").Visible = False
Sheets("Config").Visible = False
Sheets("Graphes").Visible = False
Sheets("Fiches_Label_Indicateurs").Visible = False

With Application
.EnableEvents = False
.Goto Reference:="National!R5C2"
.Sheets("NATIONAL").Range("B5") = "Global_DRCTX"
.Run ("declench_macro_ouverture")
.EnableEvents = True
.DisplayAlerts = True
End With

End Sub

Merci encore pour ton aide
--
ALF



Rebonjour à toi

Attention la Macro évennementiel intitulé "Private Sub
Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)" ne se
déclenche que quant la cellule décrite dans son code (ici "B5" ou B12) change
de valeur
Or la ligne que je t'ai proposé n'a pour but que de mettre une valeur
initial et non de provoquer un changement de valeur de cette cellule
La macro évennementiel ne s'active donc pas

Du manière générale ces types de macro ne réagissent qu'aprés un évennement
comme leur nom l'indique déclenché par une action de l'utilisateur

Il sera donc difficile par une instruction d'une macro d'obtenir cet
aboutissement

Je te propose de creer une nouvelle macro qui aura ce même code que tu
déclenchera dans ta macro "Private Sub Workbook_Open() " par la ligne à
intégrer :

Run ("macro") '(a actualiser du nom de cette macro)

Celà devrait convenir

Dis moi


re,

une fois que le classeur est ouvert,il y a une macro qui se déclenche
lorsque le choix sur B5 est fait..
j'aimerais donc,que à l'ouverture puisque l'on a choisi sur B5
"Global_DRCTX" cette macro s'active..
je te laisse cette macro.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Dim c As Range
Dim s As Object


Set Existance = Worksheets("Config").Columns(1).Find(Sh.Name,
LookIn:=xlValues, LookAt:=xlWhole)
If Existance Is Nothing Then Exit Sub
If Target.Address <> "$B$12" And Target.Address <> "$B$5" Then Exit Sub

Application.ScreenUpdating = False
Application.EnableEvents = False

mois = [B12]
indic = [B5]

For Each s In Sheets("Config").Range("A1:A" &
Sheets("Config").Range("A65536").End(3).Row)
Sheets("" & s & "").Select
Application.EnableEvents = False
[B12] = mois
[B5] = indic
Application.EnableEvents = True

Set plage = Union(Range("I54:I61"), Range("I63:I73"))
For Each c In plage
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Or Left(c, 3) = "EFR" 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
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, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Or Left(c, 3) = "EFR" 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
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

For Each c In Range("N24:N50")
If Left(c, 4) = "Nive" Or Left(c, 28) = "Dossier moyen RJ LJ directes" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.0"
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"
End If
Next c

For Each c In Range("H5:H18")
If Left(c, 4) = "EFFC" Or Left(c, 11) = "Départs EXT" 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
If Left(c, 12) = "EFFCDI Total" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).Font.Bold = False
End If
If Left(c, 11) = "Départs EXT" Or Left(c, 12) = "EFFCDI Total" Then
Range(c.Offset(0, 3), c.Offset(0, 3)).Font.Bold = True
Else
Range(c.Offset(0, 3), c.Offset(0, 3)).Font.Bold = False
End If
Next c


If Target.Address = "$B$5" Or Target.Address = "$B$12" Then
nomchamp = [B5] & "_" & [B12]
On Error Resume Next
Sheets("Commentaires").Visible = True
Sheets("Commentaires").Range(nomchamp).Copy [B48]
Sheets("" & s & "").Select
End If


Range("B5").Select
ActiveWindow.ScrollRow = 1
ActiveWindow.ScrollColumn = 1

Next s
Sh.Select


Sheets("Commentaires").Visible = False


Application.EnableEvents = True
Application.ScreenUpdating = True

End Sub


Merci encore

--
ALF



Rebonjour à toi

Qu'entends tu par "la macro ne s'est pas activé sur ce choix..."

Peux tu me donner des détailles

Merci



Bonjour,

Apparemment ,cela se positionne bien sur l'onglet NATIONAL choix
Global_DRCTX mais par contre et cela est génant,la macro ne s'est pas activé
sur ce choix...
il ne doit pas manquer grand chose...

il faut noter que la liste deroulante est issu de données/validation...

Merci encore pour ton soutien
--
ALF



Salut à toi

Peut être rajouter dans ce code la ligne :
Sheets("NATIONAL").Range("B5") = "Global_DRCTX"

A essayer !!!

Dis moi !!!


Bonjour,

J'aimerais qu' à l'ouverture du classeur,on sélectionne l'ascenseur de la
liste déroulante qui se trouve sur la cellule B5 et sur l'onglet NATIONAL, et
que l'on se positionne sur le choix "Global_DRCTX" ,la macro devant alors
s"executer sur ce choix la...

je vous laisse le code a l'ouverture du classeur ,qui me semble incomplet
pour arriver a cela....
actuellement,A l'ouverture du classeur,le positionnement est en fait le
dernier choix effectué avant la précédente fermeture du classeur..ce que je
ne veux pas..

j'aimerais que si par ex l'on a choisi le choix "Impayés_du_Fixe" avant la
fermeture,on ai a l'ouverture le choix "Global_DRCTX"

Voici le code
Private Sub Workbook_Open()


Application.ScreenUpdating = False
Application.DisplayAlerts = False

For Each Sh In Sheets
Sh.Visible = True
Next Sh

Sheets(1).Visible = xlVeryHidden

Sheets("Impayés_E_du_Fixe").Visible = False
Sheets("Procédures_Collectives_E").Visible = False
Sheets("Commentaires").Visible = False
Sheets("Config").Visible = False
Sheets("Graphes").Visible = False
Sheets("Fiches_Label_Indicateurs").Visible = False

With Application
.EnableEvents = False
.Goto Reference:="National!R5C2"
.EnableEvents = True
.DisplayAlerts = True
End With

End Sub


Merci de votre soutien


--
ALF














Avatar
ALF
re,
je suis désolé mais ca ne marche toujours pas...
la macro evenementielle fonctionne mais pas la macro"declench_macro_ouverture"
j'ai essayé la macro "declench_macro_ouverture" seule et toujours le meme
message..
si j'enleve les lignes que tu me dis,j'ai le meme message d erreur mais
concerne la ligne:

If Target.Address = "$B$5" Or Target.Address = "$B$12" Then
nomchamp = [B5] & "_" & [B12]





je te laisse le fichier en question que j'ai du restreindre pour la cause...

http://cjoint.com/?iksfC4dKCS

merci encore
--
ALF



Rebonjour à toi

Si la macro qui se déclenche lorque la cellule B5 est modifiée fonctionne en
utilisation normale il n'y a aucune raison qu"elle ne fonctionne pas dans
une macro classique
C'est bonnet blanc et blanc bonnet
D'un côté le code est exécuté par le changement de valeur de la cellule "B5"
de l'autre par l'activation d'une macro

Vérifies donc que par la modification de "B5" tout fonctionne puis lance la
macro sans utiliser le code évennementiel Private Sub Workbook_Open puis
enregistres fermes et réouvres ton document

Si le test normal par le chagement de "B5" est correct il devrait en être de
même pour les 2 autres

Tu peux malgrés tout tenter de supprimer dans ta macro
"declench_macro_ouverture" les première lignes suivantes :

Set Existance = Worksheets("Config").Columns(1).Find(Sh.Name,
LookIn:=xlValues, LookAt:=xlWhole)
If Existance Is Nothing Then Exit Sub
If Target.Address <> "$B$12" And Target.Address <> "$B$5" Then Exit Sub

Qui à mon sens ne sont utiles que pour le fonctionnement de la macro
évennementielle

Et de réessayer à nouveau en vérifiant le résultat obtenu

Dis moi !!!!


re,

j'ai fait comme tu m'as indiqué et j'ai le message suivant: erreur
d'execution 424: Objet requis

lorsque je fais debogage, j'ai cette ligne de code qui m'est souligné:
Set Existance = Worksheets("Config").Columns(1).Find(Sh.Name,
LookIn:=xlValues, LookAt:=xlWhole)

Config est une feuille qui est cachée et normalement on n'a pas besoin de
l'ouvrir...
que se passe t il???

Merci

je te laisse la macro d'ouverture modifiée...

Private Sub Workbook_Open()


Application.ScreenUpdating = False
Application.DisplayAlerts = False

For Each Sh In Sheets
Sh.Visible = True
Next Sh

Sheets(1).Visible = xlVeryHidden

Sheets("Impayés_E_du_Fixe").Visible = False
Sheets("Procédures_Collectives_E").Visible = False
Sheets("Commentaires").Visible = False
Sheets("Config").Visible = False
Sheets("Graphes").Visible = False
Sheets("Fiches_Label_Indicateurs").Visible = False

With Application
.EnableEvents = False
.Goto Reference:="National!R5C2"
.Sheets("NATIONAL").Range("B5") = "Global_DRCTX"
.Run ("declench_macro_ouverture")
.EnableEvents = True
.DisplayAlerts = True
End With

End Sub

Merci encore pour ton aide
--
ALF



Rebonjour à toi

Attention la Macro évennementiel intitulé "Private Sub
Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)" ne se
déclenche que quant la cellule décrite dans son code (ici "B5" ou B12) change
de valeur
Or la ligne que je t'ai proposé n'a pour but que de mettre une valeur
initial et non de provoquer un changement de valeur de cette cellule
La macro évennementiel ne s'active donc pas

Du manière générale ces types de macro ne réagissent qu'aprés un évennement
comme leur nom l'indique déclenché par une action de l'utilisateur

Il sera donc difficile par une instruction d'une macro d'obtenir cet
aboutissement

Je te propose de creer une nouvelle macro qui aura ce même code que tu
déclenchera dans ta macro "Private Sub Workbook_Open() " par la ligne à
intégrer :

Run ("macro") '(a actualiser du nom de cette macro)

Celà devrait convenir

Dis moi


re,

une fois que le classeur est ouvert,il y a une macro qui se déclenche
lorsque le choix sur B5 est fait..
j'aimerais donc,que à l'ouverture puisque l'on a choisi sur B5
"Global_DRCTX" cette macro s'active..
je te laisse cette macro.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Dim c As Range
Dim s As Object


Set Existance = Worksheets("Config").Columns(1).Find(Sh.Name,
LookIn:=xlValues, LookAt:=xlWhole)
If Existance Is Nothing Then Exit Sub
If Target.Address <> "$B$12" And Target.Address <> "$B$5" Then Exit Sub

Application.ScreenUpdating = False
Application.EnableEvents = False

mois = [B12]
indic = [B5]

For Each s In Sheets("Config").Range("A1:A" &
Sheets("Config").Range("A65536").End(3).Row)
Sheets("" & s & "").Select
Application.EnableEvents = False
[B12] = mois
[B5] = indic
Application.EnableEvents = True

Set plage = Union(Range("I54:I61"), Range("I63:I73"))
For Each c In plage
If Left(c, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Or Left(c, 3) = "EFR" 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
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, 4) = "Taux" Or Left(c, 4) = "Effi" Or Left(c, 4) = "Qual" Or
Left(c, 1) = "%" Or Left(c, 3) = "EFR" 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
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

For Each c In Range("N24:N50")
If Left(c, 4) = "Nive" Or Left(c, 28) = "Dossier moyen RJ LJ directes" Then
Range(c.Offset(0, 1), c.Offset(0, 5)).NumberFormat = "0.0"
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"
End If
Next c

For Each c In Range("H5:H18")
If Left(c, 4) = "EFFC" Or Left(c, 11) = "Départs EXT" 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
If Left(c, 12) = "EFFCDI Total" Then
Range(c.Offset(0, 1), c.Offset(0, 6)).Font.Bold = True
Else
Range(c.Offset(0, 1), c.Offset(0, 6)).Font.Bold = False
End If
If Left(c, 11) = "Départs EXT" Or Left(c, 12) = "EFFCDI Total" Then
Range(c.Offset(0, 3), c.Offset(0, 3)).Font.Bold = True
Else
Range(c.Offset(0, 3), c.Offset(0, 3)).Font.Bold = False
End If
Next c


If Target.Address = "$B$5" Or Target.Address = "$B$12" Then
nomchamp = [B5] & "_" & [B12]
On Error Resume Next
Sheets("Commentaires").Visible = True
Sheets("Commentaires").Range(nomchamp).Copy [B48]
Sheets("" & s & "").Select
End If


Range("B5").Select
ActiveWindow.ScrollRow = 1
ActiveWindow.ScrollColumn = 1

Next s
Sh.Select


Sheets("Commentaires").Visible = False


Application.EnableEvents = True
Application.ScreenUpdating = True

End Sub


Merci encore

--
ALF



Rebonjour à toi

Qu'entends tu par "la macro ne s'est pas activé sur ce choix..."

Peux tu me donner des détailles

Merci



Bonjour,

Apparemment ,cela se positionne bien sur l'onglet NATIONAL choix
Global_DRCTX mais par contre et cela est génant,la macro ne s'est pas activé
sur ce choix...
il ne doit pas manquer grand chose...

il faut noter que la liste deroulante est issu de données/validation...

Merci encore pour ton soutien
--
ALF



Salut à toi

Peut être rajouter dans ce code la ligne :
Sheets("NATIONAL").Range("B5") = "Global_DRCTX"

A essayer !!!

Dis moi !!!


Bonjour,

J'aimerais qu' à l'ouverture du classeur,on sélectionne l'ascenseur de la
liste déroulante qui se trouve sur la cellule B5 et sur l'onglet NATIONAL, et
que l'on se positionne sur le choix "Global_DRCTX" ,la macro devant alors
s"executer sur ce choix la...

je vous laisse le code a l'ouverture du classeur ,qui me semble incomplet
pour arriver a cela....
actuellement,A l'ouverture du classeur,le positionnement est en fait le
dernier choix effectué avant la précédente fermeture du classeur..ce que je
ne veux pas..

j'aimerais que si par ex l'on a choisi le choix "Impayés_du_Fixe" avant la
fermeture,on ai a l'ouverture le choix "Global_DRCTX"

Voici le code
Private Sub Workbook_Open()

















1 2