Jusqu'a ce que j'essai par vba d'activer la protection de chaque feuille de
mon workbook au moment de l'activation en y ajoutant la ligne :
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
a l'intérieur de ma boucle for le code fonctionnait a merveille
Private Sub Workbook_Activate()
For Each Sh In ActiveWorkbook.Sheets
Application.ScreenUpdating = False
'appel de la macro 'valideCOuleurOnglet' en passant la date en AB1
valideCOuleurOnglet (Sh.Range("AB1").Value)
Sh.Calculate
Next Sh
End sub
Dans la macro 'valideCOuleurOnglet' après plusieurs validations je passe
ces lignes de code :
If nosemaine > 0 Then
ActiveSheet.Tab.ColorIndex = 3
Else
ActiveSheet.Tab.ColorIndex = xlAutomatic
End If
Depuis cet essaie obtiens et ce malgré avoir enlevé complètement la ligne
destiné a protéger les feuilles, une erreur d'exécution sur la ligne
ActiveSheet.Tab.ColorIndex = 3
Erreur définie par l'application ou par l'objet
Quelqu'un peu me dire de quoi ca peut dépendre
Merci à l'avance
epérant avoir été assé limpide dans mes explications
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Brunos
"Mario Limoges" a écrit :> Bonjour-bonsoir
Private Sub Workbook_Activate() For Each Sh In ActiveWorkbook.Sheets Application.ScreenUpdating = False 'appel de la macro 'valideCOuleurOnglet' en passant la date en AB1 valideCOuleurOnglet (Sh.Range("AB1").Value) Sh.Calculate Next Sh End sub
Dans la macro 'valideCOuleurOnglet' après plusieurs validations je passe ces lignes de code :
If nosemaine > 0 Then ActiveSheet.Tab.ColorIndex = 3 Else ActiveSheet.Tab.ColorIndex = xlAutomatic End If
Depuis cet essaie obtiens et ce malgré avoir enlevé complètement la ligne destiné a protéger les feuilles, une erreur d'exécution sur la ligne ActiveSheet.Tab.ColorIndex = 3
Erreur définie par l'application ou par l'objet
Bonjour Mario, A priori je vois un pb: Dans la 1ère partie du code tu défiles les feuilles (For Each Sh) et pour chacune tu envoies une sous-routine qui fait référence à ActiveSheet, mais quelle est la feuille active à ce moment là? Essaie de tous mettre dans la procédure principale (Workbook_Activate) en faisant référence à Sh (Sh.Tab.ColorIndex = 3). Ou alors passe Sh en argument. Brunos
"Mario Limoges" a écrit :> Bonjour-bonsoir
Private Sub Workbook_Activate()
For Each Sh In ActiveWorkbook.Sheets
Application.ScreenUpdating = False
'appel de la macro 'valideCOuleurOnglet' en passant la date en
AB1
valideCOuleurOnglet (Sh.Range("AB1").Value)
Sh.Calculate
Next Sh
End sub
Dans la macro 'valideCOuleurOnglet' après plusieurs validations je
passe ces lignes de code :
If nosemaine > 0 Then
ActiveSheet.Tab.ColorIndex = 3
Else
ActiveSheet.Tab.ColorIndex = xlAutomatic
End If
Depuis cet essaie obtiens et ce malgré avoir enlevé complètement la
ligne destiné a protéger les feuilles, une erreur d'exécution sur la
ligne ActiveSheet.Tab.ColorIndex = 3
Erreur définie par l'application ou par l'objet
Bonjour Mario,
A priori je vois un pb:
Dans la 1ère partie du code tu défiles les feuilles (For Each Sh)
et pour chacune tu envoies une sous-routine qui fait référence à
ActiveSheet, mais quelle est la feuille active à ce moment là?
Essaie de tous mettre dans la procédure principale (Workbook_Activate)
en faisant référence à Sh (Sh.Tab.ColorIndex = 3).
Ou alors passe Sh en argument.
Brunos
Private Sub Workbook_Activate() For Each Sh In ActiveWorkbook.Sheets Application.ScreenUpdating = False 'appel de la macro 'valideCOuleurOnglet' en passant la date en AB1 valideCOuleurOnglet (Sh.Range("AB1").Value) Sh.Calculate Next Sh End sub
Dans la macro 'valideCOuleurOnglet' après plusieurs validations je passe ces lignes de code :
If nosemaine > 0 Then ActiveSheet.Tab.ColorIndex = 3 Else ActiveSheet.Tab.ColorIndex = xlAutomatic End If
Depuis cet essaie obtiens et ce malgré avoir enlevé complètement la ligne destiné a protéger les feuilles, une erreur d'exécution sur la ligne ActiveSheet.Tab.ColorIndex = 3
Erreur définie par l'application ou par l'objet
Bonjour Mario, A priori je vois un pb: Dans la 1ère partie du code tu défiles les feuilles (For Each Sh) et pour chacune tu envoies une sous-routine qui fait référence à ActiveSheet, mais quelle est la feuille active à ce moment là? Essaie de tous mettre dans la procédure principale (Workbook_Activate) en faisant référence à Sh (Sh.Tab.ColorIndex = 3). Ou alors passe Sh en argument. Brunos
papou
Bonjour 1°) Dans ta procédure valideCOuleurOnglet ajoute un paramètre avec le nom de la feuille et modifie aussi ton code. Sub valideCOuleurOnglet(NomF As String,Valeur As Long) ' à adapter avec ce que tu attends en paramètre sur Valeur ? '.... If nosemaine > 0 Then Worksheets(NomF).Tab.ColorIndex = 3 Else Worksheets(NomF).Tab.ColorIndex = xlAutomatic End If
"Mario Limoges" a écrit dans le message de news: Spenj.1751$
Bonjour-bonsoir
Jusqu'a ce que j'essai par vba d'activer la protection de chaque feuille de mon workbook au moment de l'activation en y ajoutant la ligne : ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True a l'intérieur de ma boucle for le code fonctionnait a merveille
Private Sub Workbook_Activate() For Each Sh In ActiveWorkbook.Sheets Application.ScreenUpdating = False 'appel de la macro 'valideCOuleurOnglet' en passant la date en AB1 valideCOuleurOnglet (Sh.Range("AB1").Value) Sh.Calculate Next Sh End sub
Dans la macro 'valideCOuleurOnglet' après plusieurs validations je passe ces lignes de code :
If nosemaine > 0 Then ActiveSheet.Tab.ColorIndex = 3 Else ActiveSheet.Tab.ColorIndex = xlAutomatic End If
Depuis cet essaie obtiens et ce malgré avoir enlevé complètement la ligne destiné a protéger les feuilles, une erreur d'exécution sur la ligne ActiveSheet.Tab.ColorIndex = 3
Erreur définie par l'application ou par l'objet
Quelqu'un peu me dire de quoi ca peut dépendre
Merci à l'avance epérant avoir été assé limpide dans mes explications
Bonjour
1°) Dans ta procédure valideCOuleurOnglet ajoute un paramètre avec le nom de
la feuille et modifie aussi ton code.
Sub valideCOuleurOnglet(NomF As String,Valeur As Long) ' à adapter avec ce
que tu attends en paramètre sur Valeur ?
'....
If nosemaine > 0 Then
Worksheets(NomF).Tab.ColorIndex = 3
Else
Worksheets(NomF).Tab.ColorIndex = xlAutomatic
End If
"Mario Limoges" <mario.limoges@videotron.ca> a écrit dans le message de
news: Spenj.1751$pn.4203@wagner.videotron.net...
Bonjour-bonsoir
Jusqu'a ce que j'essai par vba d'activer la protection de chaque feuille
de mon workbook au moment de l'activation en y ajoutant la ligne :
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
a l'intérieur de ma boucle for le code fonctionnait a merveille
Private Sub Workbook_Activate()
For Each Sh In ActiveWorkbook.Sheets
Application.ScreenUpdating = False
'appel de la macro 'valideCOuleurOnglet' en passant la date en AB1
valideCOuleurOnglet (Sh.Range("AB1").Value)
Sh.Calculate
Next Sh
End sub
Dans la macro 'valideCOuleurOnglet' après plusieurs validations je passe
ces lignes de code :
If nosemaine > 0 Then
ActiveSheet.Tab.ColorIndex = 3
Else
ActiveSheet.Tab.ColorIndex = xlAutomatic
End If
Depuis cet essaie obtiens et ce malgré avoir enlevé complètement la ligne
destiné a protéger les feuilles, une erreur d'exécution sur la ligne
ActiveSheet.Tab.ColorIndex = 3
Erreur définie par l'application ou par l'objet
Quelqu'un peu me dire de quoi ca peut dépendre
Merci à l'avance
epérant avoir été assé limpide dans mes explications
Bonjour 1°) Dans ta procédure valideCOuleurOnglet ajoute un paramètre avec le nom de la feuille et modifie aussi ton code. Sub valideCOuleurOnglet(NomF As String,Valeur As Long) ' à adapter avec ce que tu attends en paramètre sur Valeur ? '.... If nosemaine > 0 Then Worksheets(NomF).Tab.ColorIndex = 3 Else Worksheets(NomF).Tab.ColorIndex = xlAutomatic End If
"Mario Limoges" a écrit dans le message de news: Spenj.1751$
Bonjour-bonsoir
Jusqu'a ce que j'essai par vba d'activer la protection de chaque feuille de mon workbook au moment de l'activation en y ajoutant la ligne : ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True a l'intérieur de ma boucle for le code fonctionnait a merveille
Private Sub Workbook_Activate() For Each Sh In ActiveWorkbook.Sheets Application.ScreenUpdating = False 'appel de la macro 'valideCOuleurOnglet' en passant la date en AB1 valideCOuleurOnglet (Sh.Range("AB1").Value) Sh.Calculate Next Sh End sub
Dans la macro 'valideCOuleurOnglet' après plusieurs validations je passe ces lignes de code :
If nosemaine > 0 Then ActiveSheet.Tab.ColorIndex = 3 Else ActiveSheet.Tab.ColorIndex = xlAutomatic End If
Depuis cet essaie obtiens et ce malgré avoir enlevé complètement la ligne destiné a protéger les feuilles, une erreur d'exécution sur la ligne ActiveSheet.Tab.ColorIndex = 3
Erreur définie par l'application ou par l'objet
Quelqu'un peu me dire de quoi ca peut dépendre
Merci à l'avance epérant avoir été assé limpide dans mes explications
Mario Limoges
Après plusieurs essaies-erreurs j'ai finalement trouvé la source de ce bugg. Simplement, mon Workbook était protégé ce qui empechait bien évidement de modifier la couleur du .Tab provoquant l'erreur en titre :-(((
"Mario Limoges" a écrit dans le message de news: Spenj.1751$
Bonjour-bonsoir
Jusqu'a ce que j'essai par vba d'activer la protection de chaque feuille de mon workbook au moment de l'activation en y ajoutant la ligne : ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True a l'intérieur de ma boucle for le code fonctionnait a merveille
Private Sub Workbook_Activate() For Each Sh In ActiveWorkbook.Sheets Application.ScreenUpdating = False 'appel de la macro 'valideCOuleurOnglet' en passant la date en AB1 valideCOuleurOnglet (Sh.Range("AB1").Value) Sh.Calculate Next Sh End sub
Dans la macro 'valideCOuleurOnglet' après plusieurs validations je passe ces lignes de code :
If nosemaine > 0 Then ActiveSheet.Tab.ColorIndex = 3 Else ActiveSheet.Tab.ColorIndex = xlAutomatic End If
Depuis cet essaie obtiens et ce malgré avoir enlevé complètement la ligne destiné a protéger les feuilles, une erreur d'exécution sur la ligne ActiveSheet.Tab.ColorIndex = 3
Erreur définie par l'application ou par l'objet
Quelqu'un peu me dire de quoi ca peut dépendre
Merci à l'avance epérant avoir été assé limpide dans mes explications
Après plusieurs essaies-erreurs j'ai finalement trouvé la source de ce bugg.
Simplement, mon Workbook était protégé ce qui empechait bien évidement de
modifier la couleur du .Tab provoquant l'erreur en titre :-(((
"Mario Limoges" <mario.limoges@videotron.ca> a écrit dans le message de
news: Spenj.1751$pn.4203@wagner.videotron.net...
Bonjour-bonsoir
Jusqu'a ce que j'essai par vba d'activer la protection de chaque feuille
de mon workbook au moment de l'activation en y ajoutant la ligne :
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
a l'intérieur de ma boucle for le code fonctionnait a merveille
Private Sub Workbook_Activate()
For Each Sh In ActiveWorkbook.Sheets
Application.ScreenUpdating = False
'appel de la macro 'valideCOuleurOnglet' en passant la date en AB1
valideCOuleurOnglet (Sh.Range("AB1").Value)
Sh.Calculate
Next Sh
End sub
Dans la macro 'valideCOuleurOnglet' après plusieurs validations je passe
ces lignes de code :
If nosemaine > 0 Then
ActiveSheet.Tab.ColorIndex = 3
Else
ActiveSheet.Tab.ColorIndex = xlAutomatic
End If
Depuis cet essaie obtiens et ce malgré avoir enlevé complètement la ligne
destiné a protéger les feuilles, une erreur d'exécution sur la ligne
ActiveSheet.Tab.ColorIndex = 3
Erreur définie par l'application ou par l'objet
Quelqu'un peu me dire de quoi ca peut dépendre
Merci à l'avance
epérant avoir été assé limpide dans mes explications
Après plusieurs essaies-erreurs j'ai finalement trouvé la source de ce bugg. Simplement, mon Workbook était protégé ce qui empechait bien évidement de modifier la couleur du .Tab provoquant l'erreur en titre :-(((
"Mario Limoges" a écrit dans le message de news: Spenj.1751$
Bonjour-bonsoir
Jusqu'a ce que j'essai par vba d'activer la protection de chaque feuille de mon workbook au moment de l'activation en y ajoutant la ligne : ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True a l'intérieur de ma boucle for le code fonctionnait a merveille
Private Sub Workbook_Activate() For Each Sh In ActiveWorkbook.Sheets Application.ScreenUpdating = False 'appel de la macro 'valideCOuleurOnglet' en passant la date en AB1 valideCOuleurOnglet (Sh.Range("AB1").Value) Sh.Calculate Next Sh End sub
Dans la macro 'valideCOuleurOnglet' après plusieurs validations je passe ces lignes de code :
If nosemaine > 0 Then ActiveSheet.Tab.ColorIndex = 3 Else ActiveSheet.Tab.ColorIndex = xlAutomatic End If
Depuis cet essaie obtiens et ce malgré avoir enlevé complètement la ligne destiné a protéger les feuilles, une erreur d'exécution sur la ligne ActiveSheet.Tab.ColorIndex = 3
Erreur définie par l'application ou par l'objet
Quelqu'un peu me dire de quoi ca peut dépendre
Merci à l'avance epérant avoir été assé limpide dans mes explications