Bonjour à tous
j'ai trouvé sur ce forum comment avec une mise en forme conditionnelle
faire ressortir la semaine en cours. Est-il possible de faire la même
chose à un onglet ?? j'ai un onglet par semaine de l'année. Et si en
plus lorsque j'ouvre mon fichier ça pouvait être sur cet onglet se
serait royal.
merci d'avance à tous
Marc
Pour sélectionner l'onglet portant le numéro de la semaine, tu peux, après avoir créé dans ton classeur le nom toto en lui donnant comme référence =AUJOURDHUI(), coller ce qui suit dans un module standard du projet VBA :
Function NUMSEM_ISO_europ(cEl As Range) 'av 'bug des dimanches 2 janvier pour les années 2101, 2501 ' (etc...intervalle 400 ans) If Day(cEl) = 2 And Month(cEl) = 1 And Year(cEl) Mod 400 = 101 Then NUMSEM_ISO_europ = 52 Exit Function End If If Weekday(cEl) = 2 And Month(cEl) = 12 And Day(cEl) > 28 Then NUMSEM_ISO_europ = 1 Else: NUMSEM_ISO_europ = DatePart("ww", cEl, 2, 2) End If End Function
Sub semongl() Dim numOngl As String numOngl = NUMSEM_ISO_europ([toto]) Sheets(numOngl).Select End Sub -- Amicales Salutations XL 97 / 2000 / 2002 Préférez suivre facilement sur le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"MarcT" a écrit dans le message de news:
Bonjour à tous j'ai trouvé sur ce forum comment avec une mise en forme conditionnelle faire ressortir la semaine en cours. Est-il possible de faire la même chose à un onglet ?? j'ai un onglet par semaine de l'année. Et si en plus lorsque j'ouvre mon fichier ça pouvait être sur cet onglet se serait royal. merci d'avance à tous Marc
Bonjour Marc,
Pour sélectionner l'onglet portant le numéro de la semaine, tu peux, après avoir créé dans ton classeur
le nom toto en lui donnant comme référence =AUJOURDHUI(), coller ce qui suit dans un module standard du
projet VBA :
Function NUMSEM_ISO_europ(cEl As Range) 'av
'bug des dimanches 2 janvier pour les années 2101, 2501
' (etc...intervalle 400 ans)
If Day(cEl) = 2 And Month(cEl) = 1 And Year(cEl) Mod 400 = 101 Then
NUMSEM_ISO_europ = 52
Exit Function
End If
If Weekday(cEl) = 2 And Month(cEl) = 12 And Day(cEl) > 28 Then
NUMSEM_ISO_europ = 1
Else: NUMSEM_ISO_europ = DatePart("ww", cEl, 2, 2)
End If
End Function
Sub semongl()
Dim numOngl As String
numOngl = NUMSEM_ISO_europ([toto])
Sheets(numOngl).Select
End Sub
--
Amicales Salutations
XL 97 / 2000 / 2002
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)
"MarcT" <marc_terrasson@hotmail.com> a écrit dans le message de news:
exB5wp4CFHA.3120@TK2MSFTNGP12.phx.gbl...
Bonjour à tous
j'ai trouvé sur ce forum comment avec une mise en forme conditionnelle faire ressortir la semaine en
cours. Est-il possible de faire la même chose à un onglet ?? j'ai un onglet par semaine de l'année. Et
si en plus lorsque j'ouvre mon fichier ça pouvait être sur cet onglet se serait royal.
merci d'avance à tous
Marc
Pour sélectionner l'onglet portant le numéro de la semaine, tu peux, après avoir créé dans ton classeur le nom toto en lui donnant comme référence =AUJOURDHUI(), coller ce qui suit dans un module standard du projet VBA :
Function NUMSEM_ISO_europ(cEl As Range) 'av 'bug des dimanches 2 janvier pour les années 2101, 2501 ' (etc...intervalle 400 ans) If Day(cEl) = 2 And Month(cEl) = 1 And Year(cEl) Mod 400 = 101 Then NUMSEM_ISO_europ = 52 Exit Function End If If Weekday(cEl) = 2 And Month(cEl) = 12 And Day(cEl) > 28 Then NUMSEM_ISO_europ = 1 Else: NUMSEM_ISO_europ = DatePart("ww", cEl, 2, 2) End If End Function
Sub semongl() Dim numOngl As String numOngl = NUMSEM_ISO_europ([toto]) Sheets(numOngl).Select End Sub -- Amicales Salutations XL 97 / 2000 / 2002 Préférez suivre facilement sur le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"MarcT" a écrit dans le message de news:
Bonjour à tous j'ai trouvé sur ce forum comment avec une mise en forme conditionnelle faire ressortir la semaine en cours. Est-il possible de faire la même chose à un onglet ?? j'ai un onglet par semaine de l'année. Et si en plus lorsque j'ouvre mon fichier ça pouvait être sur cet onglet se serait royal. merci d'avance à tous Marc
Philippe.R
Oups ! Mieux vaut affecter le nom à une cellule contenant la formule =AUJOURDHUI() -- Amicales Salutations
"Philippe.R" a écrit dans le message de news: e%
Bonjour Marc,
Pour sélectionner l'onglet portant le numéro de la semaine, tu peux, après avoir créé dans ton classeur le nom toto en lui donnant comme référence =AUJOURDHUI(), coller ce qui suit dans un module standard du projet VBA :
Function NUMSEM_ISO_europ(cEl As Range) 'av 'bug des dimanches 2 janvier pour les années 2101, 2501 ' (etc...intervalle 400 ans) If Day(cEl) = 2 And Month(cEl) = 1 And Year(cEl) Mod 400 = 101 Then NUMSEM_ISO_europ = 52 Exit Function End If If Weekday(cEl) = 2 And Month(cEl) = 12 And Day(cEl) > 28 Then NUMSEM_ISO_europ = 1 Else: NUMSEM_ISO_europ = DatePart("ww", cEl, 2, 2) End If End Function
Sub semongl() Dim numOngl As String numOngl = NUMSEM_ISO_europ([toto]) Sheets(numOngl).Select End Sub -- Amicales Salutations XL 97 / 2000 / 2002 Préférez suivre facilement sur le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"MarcT" a écrit dans le message de news:
Bonjour à tous j'ai trouvé sur ce forum comment avec une mise en forme conditionnelle faire ressortir la semaine en cours. Est-il possible de faire la même chose à un onglet ?? j'ai un onglet par semaine de l'année. Et si en plus lorsque j'ouvre mon fichier ça pouvait être sur cet onglet se serait royal. merci d'avance à tous Marc
Oups !
Mieux vaut affecter le nom à une cellule contenant la formule =AUJOURDHUI()
--
Amicales Salutations
"Philippe.R" <A_S_rauphil@wanadoo.fr> a écrit dans le message de news:
e%23zTAs5CFHA.1936@TK2MSFTNGP14.phx.gbl...
Bonjour Marc,
Pour sélectionner l'onglet portant le numéro de la semaine, tu peux, après avoir créé dans ton
classeur le nom toto en lui donnant comme référence =AUJOURDHUI(), coller ce qui suit dans un module
standard du projet VBA :
Function NUMSEM_ISO_europ(cEl As Range) 'av
'bug des dimanches 2 janvier pour les années 2101, 2501
' (etc...intervalle 400 ans)
If Day(cEl) = 2 And Month(cEl) = 1 And Year(cEl) Mod 400 = 101 Then
NUMSEM_ISO_europ = 52
Exit Function
End If
If Weekday(cEl) = 2 And Month(cEl) = 12 And Day(cEl) > 28 Then
NUMSEM_ISO_europ = 1
Else: NUMSEM_ISO_europ = DatePart("ww", cEl, 2, 2)
End If
End Function
Sub semongl()
Dim numOngl As String
numOngl = NUMSEM_ISO_europ([toto])
Sheets(numOngl).Select
End Sub
--
Amicales Salutations
XL 97 / 2000 / 2002
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)
"MarcT" <marc_terrasson@hotmail.com> a écrit dans le message de news:
exB5wp4CFHA.3120@TK2MSFTNGP12.phx.gbl...
Bonjour à tous
j'ai trouvé sur ce forum comment avec une mise en forme conditionnelle faire ressortir la semaine en
cours. Est-il possible de faire la même chose à un onglet ?? j'ai un onglet par semaine de l'année.
Et si en plus lorsque j'ouvre mon fichier ça pouvait être sur cet onglet se serait royal.
merci d'avance à tous
Marc
Oups ! Mieux vaut affecter le nom à une cellule contenant la formule =AUJOURDHUI() -- Amicales Salutations
"Philippe.R" a écrit dans le message de news: e%
Bonjour Marc,
Pour sélectionner l'onglet portant le numéro de la semaine, tu peux, après avoir créé dans ton classeur le nom toto en lui donnant comme référence =AUJOURDHUI(), coller ce qui suit dans un module standard du projet VBA :
Function NUMSEM_ISO_europ(cEl As Range) 'av 'bug des dimanches 2 janvier pour les années 2101, 2501 ' (etc...intervalle 400 ans) If Day(cEl) = 2 And Month(cEl) = 1 And Year(cEl) Mod 400 = 101 Then NUMSEM_ISO_europ = 52 Exit Function End If If Weekday(cEl) = 2 And Month(cEl) = 12 And Day(cEl) > 28 Then NUMSEM_ISO_europ = 1 Else: NUMSEM_ISO_europ = DatePart("ww", cEl, 2, 2) End If End Function
Sub semongl() Dim numOngl As String numOngl = NUMSEM_ISO_europ([toto]) Sheets(numOngl).Select End Sub -- Amicales Salutations XL 97 / 2000 / 2002 Préférez suivre facilement sur le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"MarcT" a écrit dans le message de news:
Bonjour à tous j'ai trouvé sur ce forum comment avec une mise en forme conditionnelle faire ressortir la semaine en cours. Est-il possible de faire la même chose à un onglet ?? j'ai un onglet par semaine de l'année. Et si en plus lorsque j'ouvre mon fichier ça pouvait être sur cet onglet se serait royal. merci d'avance à tous Marc
MarcT
Oups ! Mieux vaut affecter le nom à une cellule contenant la formule =AUJOURDHUI() merci pour tes conseils mais je ne suis pas très fort avec excel et je
n'arrive pas à la faire fonctionner merci encore cordialement marc
Oups !
Mieux vaut affecter le nom à une cellule contenant la formule =AUJOURDHUI()
merci pour tes conseils mais je ne suis pas très fort avec excel et je
n'arrive pas à la faire fonctionner
merci encore
cordialement
marc
Oups ! Mieux vaut affecter le nom à une cellule contenant la formule =AUJOURDHUI() merci pour tes conseils mais je ne suis pas très fort avec excel et je
n'arrive pas à la faire fonctionner merci encore cordialement marc
Daniel.M
Bonjour,
Supposons que tes onglets sont numérotés ainsi: "S01", "S02", ... "S53"
Dans un module normal:
Function ISOWeekNum(d1 As Date) As Integer Dim Jan03 As Long Jan03 = DateSerial(Year(d1 - Weekday(d1 - 1) + 4), 1, 3) ISOWeekNum = Int((d1 - Jan03 + Weekday(Jan03) + 5) / 7) End Function
Dans le code de ton classeur (ThisWorkbook):
Private Sub Workbook_Open() Dim nomOnglet As String
nomOnglet = "S" & Format(ISOWeekNum(Date), "00") On Error Resume Next Worksheets(nomOnglet).Activate If Err.Number <> 0 Then MsgBox "Aucun onglet ne porte le nom " & nomOnglet, vbInformation, "Feuille inexistante" Err.Clear End If
End Sub
Salutations,
Daniel M.
"MarcT" wrote in message news:
Bonjour à tous j'ai trouvé sur ce forum comment avec une mise en forme conditionnelle faire ressortir la semaine en cours. Est-il possible de faire la même chose à un onglet ?? j'ai un onglet par semaine de l'année. Et si en plus lorsque j'ouvre mon fichier ça pouvait être sur cet onglet se serait royal. merci d'avance à tous Marc
Bonjour,
Supposons que tes onglets sont numérotés ainsi: "S01", "S02", ... "S53"
Dans un module normal:
Function ISOWeekNum(d1 As Date) As Integer
Dim Jan03 As Long
Jan03 = DateSerial(Year(d1 - Weekday(d1 - 1) + 4), 1, 3)
ISOWeekNum = Int((d1 - Jan03 + Weekday(Jan03) + 5) / 7)
End Function
Dans le code de ton classeur (ThisWorkbook):
Private Sub Workbook_Open()
Dim nomOnglet As String
nomOnglet = "S" & Format(ISOWeekNum(Date), "00")
On Error Resume Next
Worksheets(nomOnglet).Activate
If Err.Number <> 0 Then
MsgBox "Aucun onglet ne porte le nom " & nomOnglet, vbInformation, "Feuille
inexistante"
Err.Clear
End If
End Sub
Salutations,
Daniel M.
"MarcT" <marc_terrasson@hotmail.com> wrote in message
news:exB5wp4CFHA.3120@TK2MSFTNGP12.phx.gbl...
Bonjour à tous
j'ai trouvé sur ce forum comment avec une mise en forme conditionnelle
faire ressortir la semaine en cours. Est-il possible de faire la même
chose à un onglet ?? j'ai un onglet par semaine de l'année. Et si en
plus lorsque j'ouvre mon fichier ça pouvait être sur cet onglet se
serait royal.
merci d'avance à tous
Marc
Supposons que tes onglets sont numérotés ainsi: "S01", "S02", ... "S53"
Dans un module normal:
Function ISOWeekNum(d1 As Date) As Integer Dim Jan03 As Long Jan03 = DateSerial(Year(d1 - Weekday(d1 - 1) + 4), 1, 3) ISOWeekNum = Int((d1 - Jan03 + Weekday(Jan03) + 5) / 7) End Function
Dans le code de ton classeur (ThisWorkbook):
Private Sub Workbook_Open() Dim nomOnglet As String
nomOnglet = "S" & Format(ISOWeekNum(Date), "00") On Error Resume Next Worksheets(nomOnglet).Activate If Err.Number <> 0 Then MsgBox "Aucun onglet ne porte le nom " & nomOnglet, vbInformation, "Feuille inexistante" Err.Clear End If
End Sub
Salutations,
Daniel M.
"MarcT" wrote in message news:
Bonjour à tous j'ai trouvé sur ce forum comment avec une mise en forme conditionnelle faire ressortir la semaine en cours. Est-il possible de faire la même chose à un onglet ?? j'ai un onglet par semaine de l'année. Et si en plus lorsque j'ouvre mon fichier ça pouvait être sur cet onglet se serait royal. merci d'avance à tous Marc
MarcT
Bonjour,
Supposons que tes onglets sont numérotés ainsi: "S01", "S02", ... "S53"
Dans un module normal:
Function ISOWeekNum(d1 As Date) As Integer Dim Jan03 As Long Jan03 = DateSerial(Year(d1 - Weekday(d1 - 1) + 4), 1, 3) ISOWeekNum = Int((d1 - Jan03 + Weekday(Jan03) + 5) / 7) End Function
Dans le code de ton classeur (ThisWorkbook):
Private Sub Workbook_Open() Dim nomOnglet As String
nomOnglet = "S" & Format(ISOWeekNum(Date), "00") On Error Resume Next Worksheets(nomOnglet).Activate If Err.Number <> 0 Then MsgBox "Aucun onglet ne porte le nom " & nomOnglet, vbInformation, "Feuille inexistante" Err.Clear End If
End Sub
Salutations,
Daniel M.
"MarcT" wrote in message news:
Bonjour à tous j'ai trouvé sur ce forum comment avec une mise en forme conditionnelle faire ressortir la semaine en cours. Est-il possible de faire la même chose à un onglet ?? j'ai un onglet par semaine de l'année. Et si en plus lorsque j'ouvre mon fichier ça pouvait être sur cet onglet se serait royal. merci d'avance à tous Marc
Bonjour Daniel,
merci bcp pour ce code que j'au réussi à faire fonctionner malgré mon petit niveau .... Il s'ouvre automatiquement sur l'onglet de la semaine en cours mais je n'arrive par contre pas à coloriser l'onglet en question. Peut-être est ce du au fait que les onglets ont déjà une couleur ... en tt cas merci et bon dimanche cordialement Marc
Bonjour,
Supposons que tes onglets sont numérotés ainsi: "S01", "S02", ... "S53"
Dans un module normal:
Function ISOWeekNum(d1 As Date) As Integer
Dim Jan03 As Long
Jan03 = DateSerial(Year(d1 - Weekday(d1 - 1) + 4), 1, 3)
ISOWeekNum = Int((d1 - Jan03 + Weekday(Jan03) + 5) / 7)
End Function
Dans le code de ton classeur (ThisWorkbook):
Private Sub Workbook_Open()
Dim nomOnglet As String
nomOnglet = "S" & Format(ISOWeekNum(Date), "00")
On Error Resume Next
Worksheets(nomOnglet).Activate
If Err.Number <> 0 Then
MsgBox "Aucun onglet ne porte le nom " & nomOnglet, vbInformation, "Feuille
inexistante"
Err.Clear
End If
End Sub
Salutations,
Daniel M.
"MarcT" <marc_terrasson@hotmail.com> wrote in message
news:exB5wp4CFHA.3120@TK2MSFTNGP12.phx.gbl...
Bonjour à tous
j'ai trouvé sur ce forum comment avec une mise en forme conditionnelle
faire ressortir la semaine en cours. Est-il possible de faire la même
chose à un onglet ?? j'ai un onglet par semaine de l'année. Et si en
plus lorsque j'ouvre mon fichier ça pouvait être sur cet onglet se
serait royal.
merci d'avance à tous
Marc
Bonjour Daniel,
merci bcp pour ce code que j'au réussi à faire fonctionner malgré mon
petit niveau .... Il s'ouvre automatiquement sur l'onglet de la semaine
en cours mais je n'arrive par contre pas à coloriser l'onglet en
question. Peut-être est ce du au fait que les onglets ont déjà une
couleur ...
en tt cas merci et bon dimanche
cordialement
Marc
Supposons que tes onglets sont numérotés ainsi: "S01", "S02", ... "S53"
Dans un module normal:
Function ISOWeekNum(d1 As Date) As Integer Dim Jan03 As Long Jan03 = DateSerial(Year(d1 - Weekday(d1 - 1) + 4), 1, 3) ISOWeekNum = Int((d1 - Jan03 + Weekday(Jan03) + 5) / 7) End Function
Dans le code de ton classeur (ThisWorkbook):
Private Sub Workbook_Open() Dim nomOnglet As String
nomOnglet = "S" & Format(ISOWeekNum(Date), "00") On Error Resume Next Worksheets(nomOnglet).Activate If Err.Number <> 0 Then MsgBox "Aucun onglet ne porte le nom " & nomOnglet, vbInformation, "Feuille inexistante" Err.Clear End If
End Sub
Salutations,
Daniel M.
"MarcT" wrote in message news:
Bonjour à tous j'ai trouvé sur ce forum comment avec une mise en forme conditionnelle faire ressortir la semaine en cours. Est-il possible de faire la même chose à un onglet ?? j'ai un onglet par semaine de l'année. Et si en plus lorsque j'ouvre mon fichier ça pouvait être sur cet onglet se serait royal. merci d'avance à tous Marc
Bonjour Daniel,
merci bcp pour ce code que j'au réussi à faire fonctionner malgré mon petit niveau .... Il s'ouvre automatiquement sur l'onglet de la semaine en cours mais je n'arrive par contre pas à coloriser l'onglet en question. Peut-être est ce du au fait que les onglets ont déjà une couleur ... en tt cas merci et bon dimanche cordialement Marc
Daniel.M
Bonjour,
merci bcp pour ce code que j'au réussi à faire fonctionner malgré mon petit niveau .... Il s'ouvre automatiquement sur l'onglet de la semaine en cours
Pas de quoi.
mais je n'arrive par contre pas à coloriser l'onglet en question.
La coloration des onglets n'est pas disponible avec ma version (XL 2000), donc je ne peux pas t'aider là-dessus. Mais il y aura une âme charitable qui te dira comment (je pense qu'il faut avoir une version assez récente).
Salutations,
Daniel M.
Bonjour,
merci bcp pour ce code que j'au réussi à faire fonctionner malgré mon
petit niveau .... Il s'ouvre automatiquement sur l'onglet de la semaine
en cours
Pas de quoi.
mais je n'arrive par contre pas à coloriser l'onglet en
question.
La coloration des onglets n'est pas disponible avec ma version (XL 2000), donc
je ne peux pas t'aider là-dessus. Mais il y aura une âme charitable qui te dira
comment (je pense qu'il faut avoir une version assez récente).
merci bcp pour ce code que j'au réussi à faire fonctionner malgré mon petit niveau .... Il s'ouvre automatiquement sur l'onglet de la semaine en cours
Pas de quoi.
mais je n'arrive par contre pas à coloriser l'onglet en question.
La coloration des onglets n'est pas disponible avec ma version (XL 2000), donc je ne peux pas t'aider là-dessus. Mais il y aura une âme charitable qui te dira comment (je pense qu'il faut avoir une version assez récente).
Salutations,
Daniel M.
JpPradier
Bonjour Marc, Daniel
La couleur d'onglet est dispo à partir d'Excel 2002. Tu modifie la macro de Daniel comme ci dessous. A noter que comme l'onglet sera sélectionné, la couleur ne sera quasiment pas visible.
j-p
Private Sub Workbook_Open() Dim nomOnglet As String
nomOnglet = "S" & Format(ISOWeekNum(Date), "00") On Error Resume Next Worksheets(nomOnglet).Activate If Err.Number <> 0 Then MsgBox "Aucun onglet ne porte le nom " & nomOnglet, vbInformation, "Feuille inexistante" Err.Clear Else Worksheets(nomOnglet).Tab.ColorIndex = 6 End If
End Sub
Bonjour Marc, Daniel
La couleur d'onglet est dispo à partir d'Excel 2002.
Tu modifie la macro de Daniel comme ci dessous.
A noter que comme l'onglet sera sélectionné, la couleur ne sera quasiment pas visible.
j-p
Private Sub Workbook_Open()
Dim nomOnglet As String
nomOnglet = "S" & Format(ISOWeekNum(Date), "00")
On Error Resume Next
Worksheets(nomOnglet).Activate
If Err.Number <> 0 Then
MsgBox "Aucun onglet ne porte le nom " & nomOnglet, vbInformation, "Feuille
inexistante"
Err.Clear
Else
Worksheets(nomOnglet).Tab.ColorIndex = 6 End If
La couleur d'onglet est dispo à partir d'Excel 2002. Tu modifie la macro de Daniel comme ci dessous. A noter que comme l'onglet sera sélectionné, la couleur ne sera quasiment pas visible.
j-p
Private Sub Workbook_Open() Dim nomOnglet As String
nomOnglet = "S" & Format(ISOWeekNum(Date), "00") On Error Resume Next Worksheets(nomOnglet).Activate If Err.Number <> 0 Then MsgBox "Aucun onglet ne porte le nom " & nomOnglet, vbInformation, "Feuille inexistante" Err.Clear Else Worksheets(nomOnglet).Tab.ColorIndex = 6 End If
End Sub
MarcT
Bonjour Marc, Daniel
La couleur d'onglet est dispo à partir d'Excel 2002. Tu modifie la macro de Daniel comme ci dessous. A noter que comme l'onglet sera sélectionné, la couleur ne sera quasiment pas visible.
j-p
Private Sub Workbook_Open() Dim nomOnglet As String
nomOnglet = "S" & Format(ISOWeekNum(Date), "00") On Error Resume Next Worksheets(nomOnglet).Activate If Err.Number <> 0 Then MsgBox "Aucun onglet ne porte le nom " & nomOnglet, vbInformation, "Feuille inexistante" Err.Clear Else Worksheets(nomOnglet).Tab.ColorIndex = 6 End If
End Sub
Merci à tous les 2 bon dimanche (studieux !!)
@+ cordialement Marc
Bonjour Marc, Daniel
La couleur d'onglet est dispo à partir d'Excel 2002.
Tu modifie la macro de Daniel comme ci dessous.
A noter que comme l'onglet sera sélectionné, la couleur ne sera quasiment pas visible.
j-p
Private Sub Workbook_Open()
Dim nomOnglet As String
nomOnglet = "S" & Format(ISOWeekNum(Date), "00")
On Error Resume Next
Worksheets(nomOnglet).Activate
If Err.Number <> 0 Then
MsgBox "Aucun onglet ne porte le nom " & nomOnglet, vbInformation, "Feuille
inexistante"
Err.Clear
Else
Worksheets(nomOnglet).Tab.ColorIndex = 6 End If
La couleur d'onglet est dispo à partir d'Excel 2002. Tu modifie la macro de Daniel comme ci dessous. A noter que comme l'onglet sera sélectionné, la couleur ne sera quasiment pas visible.
j-p
Private Sub Workbook_Open() Dim nomOnglet As String
nomOnglet = "S" & Format(ISOWeekNum(Date), "00") On Error Resume Next Worksheets(nomOnglet).Activate If Err.Number <> 0 Then MsgBox "Aucun onglet ne porte le nom " & nomOnglet, vbInformation, "Feuille inexistante" Err.Clear Else Worksheets(nomOnglet).Tab.ColorIndex = 6 End If
End Sub
Merci à tous les 2 bon dimanche (studieux !!)
@+ cordialement Marc
MarcT
Bonjour Marc, Daniel
La couleur d'onglet est dispo à partir d'Excel 2002. Tu modifie la macro de Daniel comme ci dessous. A noter que comme l'onglet sera sélectionné, la couleur ne sera quasiment pas visible.
j-p
Private Sub Workbook_Open() Dim nomOnglet As String
nomOnglet = "S" & Format(ISOWeekNum(Date), "00") On Error Resume Next Worksheets(nomOnglet).Activate If Err.Number <> 0 Then MsgBox "Aucun onglet ne porte le nom " & nomOnglet, vbInformation, "Feuille inexistante" Err.Clear Else Worksheets(nomOnglet).Tab.ColorIndex = 6 End If
End Sub
Bonjour,
Est-il possible de te solliciter encore ??? Serait-il délirant d'imaginer pouvoir coloriser les onglets en fonction d'une autre formule situé en B1 contenant:=cycle(Infos!B22) faisant référence à une macro qui me donne un n° de cycle. Ce qui donnerait: bleu 1er série de cycle de 1 à 12 puis orange série suivante Ect... Tout en gardant en jaune l'onglet de la semaine en cours. une fois qu'on est parti on fignole, on fignole .... Si trop compliqué ou pas le goût laisse tomber et merci pour la dernière fois cordialement Marc
Bonjour Marc, Daniel
La couleur d'onglet est dispo à partir d'Excel 2002.
Tu modifie la macro de Daniel comme ci dessous.
A noter que comme l'onglet sera sélectionné, la couleur ne sera quasiment pas visible.
j-p
Private Sub Workbook_Open()
Dim nomOnglet As String
nomOnglet = "S" & Format(ISOWeekNum(Date), "00")
On Error Resume Next
Worksheets(nomOnglet).Activate
If Err.Number <> 0 Then
MsgBox "Aucun onglet ne porte le nom " & nomOnglet, vbInformation, "Feuille
inexistante"
Err.Clear
Else
Worksheets(nomOnglet).Tab.ColorIndex = 6 End If
End Sub
Bonjour,
Est-il possible de te solliciter encore ???
Serait-il délirant d'imaginer pouvoir coloriser les onglets en fonction
d'une autre formule situé en B1 contenant:=cycle(Infos!B22) faisant
référence à une macro qui me donne un n° de cycle. Ce qui donnerait:
bleu 1er série de cycle de 1 à 12 puis orange série suivante Ect...
Tout en gardant en jaune l'onglet de la semaine en cours.
une fois qu'on est parti on fignole, on fignole ....
Si trop compliqué ou pas le goût laisse tomber et merci pour la dernière
fois
cordialement
Marc
La couleur d'onglet est dispo à partir d'Excel 2002. Tu modifie la macro de Daniel comme ci dessous. A noter que comme l'onglet sera sélectionné, la couleur ne sera quasiment pas visible.
j-p
Private Sub Workbook_Open() Dim nomOnglet As String
nomOnglet = "S" & Format(ISOWeekNum(Date), "00") On Error Resume Next Worksheets(nomOnglet).Activate If Err.Number <> 0 Then MsgBox "Aucun onglet ne porte le nom " & nomOnglet, vbInformation, "Feuille inexistante" Err.Clear Else Worksheets(nomOnglet).Tab.ColorIndex = 6 End If
End Sub
Bonjour,
Est-il possible de te solliciter encore ??? Serait-il délirant d'imaginer pouvoir coloriser les onglets en fonction d'une autre formule situé en B1 contenant:=cycle(Infos!B22) faisant référence à une macro qui me donne un n° de cycle. Ce qui donnerait: bleu 1er série de cycle de 1 à 12 puis orange série suivante Ect... Tout en gardant en jaune l'onglet de la semaine en cours. une fois qu'on est parti on fignole, on fignole .... Si trop compliqué ou pas le goût laisse tomber et merci pour la dernière fois cordialement Marc
JpPradier
Voila la macro modifiée qui devrait faire ce que tu demandes. Tu devras peut-etre adapter les couleurs suivant le nombre de cycles.
j-p
Private Sub Workbook_Open() Dim nomOnglet As String
nomOnglet = "S" & Format(ISOWeekNum(Date), "00") On Error Resume Next Worksheets(nomOnglet).Activate If Err.Number <> 0 Then MsgBox "Aucun onglet ne porte le nom " & nomOnglet, vbInformation, "Feuille inexistante" Err.Clear Else Worksheets(nomOnglet).Tab.ColorIndex = 6 For each feuil in Worksheets if feuil.name<> nomOnglet then if feuil.range("B1").value =< 12 then feuil.Tab.ColorIndex=5 if feuil.range("B1").value> 12 and feuil.Range("B1").value =<24 then feuil.Tab.ColorIndex=3 ' Etc... ' end if next
End If
End Sub
Voila la macro modifiée qui devrait faire ce que tu demandes. Tu devras peut-etre adapter les
couleurs suivant le nombre de cycles.
j-p
Private Sub Workbook_Open()
Dim nomOnglet As String
nomOnglet = "S" & Format(ISOWeekNum(Date), "00")
On Error Resume Next
Worksheets(nomOnglet).Activate
If Err.Number <> 0 Then
MsgBox "Aucun onglet ne porte le nom " & nomOnglet, vbInformation, "Feuille
inexistante"
Err.Clear
Else
Worksheets(nomOnglet).Tab.ColorIndex = 6
For each feuil in Worksheets
if feuil.name<> nomOnglet then
if feuil.range("B1").value =< 12 then feuil.Tab.ColorIndex=5
if feuil.range("B1").value> 12 and feuil.Range("B1").value =<24 then feuil.Tab.ColorIndex=3
' Etc...
'
end if
next
Voila la macro modifiée qui devrait faire ce que tu demandes. Tu devras peut-etre adapter les couleurs suivant le nombre de cycles.
j-p
Private Sub Workbook_Open() Dim nomOnglet As String
nomOnglet = "S" & Format(ISOWeekNum(Date), "00") On Error Resume Next Worksheets(nomOnglet).Activate If Err.Number <> 0 Then MsgBox "Aucun onglet ne porte le nom " & nomOnglet, vbInformation, "Feuille inexistante" Err.Clear Else Worksheets(nomOnglet).Tab.ColorIndex = 6 For each feuil in Worksheets if feuil.name<> nomOnglet then if feuil.range("B1").value =< 12 then feuil.Tab.ColorIndex=5 if feuil.range("B1").value> 12 and feuil.Range("B1").value =<24 then feuil.Tab.ColorIndex=3 ' Etc... ' end if next