Bonjour,
J'ai aperçu plusieurs Posts ressemblant aux miens mais je n'ai jamais réussi à
l'appliquer à mon cas.
Alors j'ai un fichier Excel avec 53 feuilles (52 semaines/an et parfois 53). Les
feuilles sont nommées Semaine 01, Semaine 02.. - ..Semaine 53.
J'aimerais qu'à l'ouverture du fichier Excel, la bonne feuille s'ouvre. Si on
est le 02/10/17, le fichier Excel s'ouvre sur la feuille "e;e;Semaine 40"e;e;.
J'ai cru comprendre que je devais utiliser un code dans VBA mais je ne maîtrise
pas du tout.
Merci d'avance pour vos réponses !
Bonjour,
J'ai aperçu plusieurs Posts ressemblant aux miens mais je n'ai jamais réussi à
l'appliquer à mon cas.
Alors j'ai un fichier Excel avec 53 feuilles (52 semaines/an et parfois 53). Les
feuilles sont nommées Semaine 01, Semaine 02.. - ..Semaine 53.
J'aimerais qu'à l'ouverture du fichier Excel, la bonne feuille s'ouvre. Si on
est le 02/10/17, le fichier Excel s'ouvre sur la feuille "e;e;Semaine 40"e;e;.
J'ai cru comprendre que je devais utiliser un code dans VBA mais je ne maîtrise
pas du tout.
Merci d'avance pour vos réponses !
Bonjour,
J'ai aperçu plusieurs Posts ressemblant aux miens mais je n'ai jamais réussi à
l'appliquer à mon cas.
Alors j'ai un fichier Excel avec 53 feuilles (52 semaines/an et parfois 53). Les
feuilles sont nommées Semaine 01, Semaine 02.. - ..Semaine 53.
J'aimerais qu'à l'ouverture du fichier Excel, la bonne feuille s'ouvre. Si on
est le 02/10/17, le fichier Excel s'ouvre sur la feuille "e;e;Semaine 40"e;e;.
J'ai cru comprendre que je devais utiliser un code dans VBA mais je ne maîtrise
pas du tout.
Merci d'avance pour vos réponses !
Bonjour,Je vais essayer. Mais je trouve pas le module ThisWorkbook.. je suis vraiment nul.
Alt+F11
Dans le module ThisWorkbook coller ceci
Private Sub Workbook_Open()
Dim nosem As String
nosem = "Semaine
"&Format(WorksheetFunction.IsoWeekNum(Date),"00")
ActiveWorkbook.Worksheets(nosem).Activate
End Sub
Si ça ne fonctionne pas avec 2010 il faut utiliser WeekNum à la
place de
IsoWeekNum et éventuellement ajuster avec +1 ou -1 selon l'année
en
cours car la fonction WeekNum compte la semaine 1 comme commençant au
1/1 de l'année ce qui n'est pas le cas pour les Frenchies ;-)
--
JièL Iso French
Le 02/10/2017 à 10:12, Corent38 a écrit :Bonjour,
J'ai aperçu plusieurs Posts ressemblant aux miens mais je n'ai jamais
réussi à
l'appliquer à mon cas.
Alors j'ai un fichier Excel avec 53 feuilles (52 semaines/an et parfois 53).
Les
feuilles sont nommées Semaine 01, Semaine 02.. - ..Semaine 53.
J'aimerais qu'à l'ouverture du fichier Excel, la bonne feuille s'ouvre.
Si on
est le 02/10/17, le fichier Excel s'ouvre sur la feuille "e;e;Semaine
40"e;e;.
J'ai cru comprendre que je devais utiliser un code dans VBA mais je ne
maîtrise
pas du tout.
Merci d'avance pour vos réponses !
Bonjour,Je vais essayer. Mais je trouve pas le module ThisWorkbook.. je suis vraiment nul.
Alt+F11
Dans le module ThisWorkbook coller ceci
Private Sub Workbook_Open()
Dim nosem As String
nosem = "Semaine
"&Format(WorksheetFunction.IsoWeekNum(Date),"00")
ActiveWorkbook.Worksheets(nosem).Activate
End Sub
Si ça ne fonctionne pas avec 2010 il faut utiliser WeekNum à la
place de
IsoWeekNum et éventuellement ajuster avec +1 ou -1 selon l'année
en
cours car la fonction WeekNum compte la semaine 1 comme commençant au
1/1 de l'année ce qui n'est pas le cas pour les Frenchies ;-)
--
JièL Iso French
Le 02/10/2017 à 10:12, Corent38 a écrit :Bonjour,
J'ai aperçu plusieurs Posts ressemblant aux miens mais je n'ai jamais
réussi à
l'appliquer à mon cas.
Alors j'ai un fichier Excel avec 53 feuilles (52 semaines/an et parfois 53).
Les
feuilles sont nommées Semaine 01, Semaine 02.. - ..Semaine 53.
J'aimerais qu'à l'ouverture du fichier Excel, la bonne feuille s'ouvre.
Si on
est le 02/10/17, le fichier Excel s'ouvre sur la feuille "e;e;Semaine
40"e;e;.
J'ai cru comprendre que je devais utiliser un code dans VBA mais je ne
maîtrise
pas du tout.
Merci d'avance pour vos réponses !
Bonjour,Je suis peut être aveugle mais je trouve pas le module thisworkbook...
Pour ouvrir la fenêtre VBA : Alt+F11
Dans le module ThisWorkbook collez ceci:
Dans cette procédure, tu dois remplacer
"NOSEM_européenne" par
"NOSEM_américaine" selon que tu es européen ou
nord-américain.
'-------------------------------------------------------------
Private Sub Workbook_Open()
Dim Sh As Worksheet
Dim NomFeuille As String
On Error Resume Next
NomFeuille = "Semaine " & NOSEM_européenne
Set Sh = ThisWorkbook.Worksheets(NomFeuille)
If Err <> 0 Then
Err = 0
MsgBox "Il n'y a aucune feuille dans ce classeur " & _
"au nom de """ & NomFeuille &
"""."
Else
Worksheets(NomFeuille).Select
End If
End Sub
'-------------------------------------------------------------
Afin de trouver le numéro de la semaine quelle que soit la version
d'Excel
que tu utilises, emploie une des 2 fonctions suivantes que tu peux placer
(copier) directement dans le Thisworkbook ou dans un module standard que tu
ajoutes au projetVBA.
'-------------------------------------------------------------
Sub NOSEM_américaine()
D = Range("G8")
NOSEM = Application.Ceiling(((D - DateSerial(Year(D), 1, 1)) / 7 +
1), 1)
End Sub
'-------------------------------------------------------------
Sub NOSEM_européenne() de Laurent Longre
D = Range("G1")
NOS = DateSerial(Year(D + (8 - WeekDay(D)) Mod 7 - 3), 1, 1)
NOSEM = ((D - NOS - 3 + (WeekDay(NOS) + 1) Mod 7)) 7 + 1
End Sub
'-------------------------------------------------------------
MichD
Bonjour,Je suis peut être aveugle mais je trouve pas le module thisworkbook...
Pour ouvrir la fenêtre VBA : Alt+F11
Dans le module ThisWorkbook collez ceci:
Dans cette procédure, tu dois remplacer
"NOSEM_européenne" par
"NOSEM_américaine" selon que tu es européen ou
nord-américain.
'-------------------------------------------------------------
Private Sub Workbook_Open()
Dim Sh As Worksheet
Dim NomFeuille As String
On Error Resume Next
NomFeuille = "Semaine " & NOSEM_européenne
Set Sh = ThisWorkbook.Worksheets(NomFeuille)
If Err <> 0 Then
Err = 0
MsgBox "Il n'y a aucune feuille dans ce classeur " & _
"au nom de """ & NomFeuille &
"""."
Else
Worksheets(NomFeuille).Select
End If
End Sub
'-------------------------------------------------------------
Afin de trouver le numéro de la semaine quelle que soit la version
d'Excel
que tu utilises, emploie une des 2 fonctions suivantes que tu peux placer
(copier) directement dans le Thisworkbook ou dans un module standard que tu
ajoutes au projetVBA.
'-------------------------------------------------------------
Sub NOSEM_américaine()
D = Range("G8")
NOSEM = Application.Ceiling(((D - DateSerial(Year(D), 1, 1)) / 7 +
1), 1)
End Sub
'-------------------------------------------------------------
Sub NOSEM_européenne() de Laurent Longre
D = Range("G1")
NOS = DateSerial(Year(D + (8 - WeekDay(D)) Mod 7 - 3), 1, 1)
NOSEM = ((D - NOS - 3 + (WeekDay(NOS) + 1) Mod 7)) 7 + 1
End Sub
'-------------------------------------------------------------
MichD
Bonjour,Je suis désolé pour le triple post.. je sais que ce n'est pas admis en général..
Pour ouvrir la fenêtre VBA : Alt+F11
Dans le module ThisWorkbook collez ceci:
Dans cette procédure, tu dois remplacer
"NOSEM_européenne" par
"NOSEM_américaine" selon que tu es européen ou
nord-américain.
'-------------------------------------------------------------
Private Sub Workbook_Open()
Dim Sh As Worksheet
Dim NomFeuille As String
On Error Resume Next
NomFeuille = "Semaine " & NOSEM_européenne
Set Sh = ThisWorkbook.Worksheets(NomFeuille)
If Err <> 0 Then
Err = 0
MsgBox "Il n'y a aucune feuille dans ce classeur " & _
"au nom de """ & NomFeuille &
"""."
Else
Worksheets(NomFeuille).Select
End If
End Sub
'-------------------------------------------------------------
Afin de trouver le numéro de la semaine quelle que soit la version
d'Excel
que tu utilises, emploie une des 2 fonctions suivantes que tu peux placer
(copier) directement dans le Thisworkbook ou dans un module standard que tu
ajoutes au projetVBA.
'-------------------------------------------------------------
Sub NOSEM_américaine()
D = Range("G8")
NOSEM = Application.Ceiling(((D - DateSerial(Year(D), 1, 1)) / 7 +
1), 1)
End Sub
'-------------------------------------------------------------
Sub NOSEM_européenne() de Laurent Longre
D = Range("G1")
NOS = DateSerial(Year(D + (8 - WeekDay(D)) Mod 7 - 3), 1, 1)
NOSEM = ((D - NOS - 3 + (WeekDay(NOS) + 1) Mod 7)) 7 + 1
End Sub
'-------------------------------------------------------------
MichD
Bonjour,Je suis désolé pour le triple post.. je sais que ce n'est pas admis en général..
Pour ouvrir la fenêtre VBA : Alt+F11
Dans le module ThisWorkbook collez ceci:
Dans cette procédure, tu dois remplacer
"NOSEM_européenne" par
"NOSEM_américaine" selon que tu es européen ou
nord-américain.
'-------------------------------------------------------------
Private Sub Workbook_Open()
Dim Sh As Worksheet
Dim NomFeuille As String
On Error Resume Next
NomFeuille = "Semaine " & NOSEM_européenne
Set Sh = ThisWorkbook.Worksheets(NomFeuille)
If Err <> 0 Then
Err = 0
MsgBox "Il n'y a aucune feuille dans ce classeur " & _
"au nom de """ & NomFeuille &
"""."
Else
Worksheets(NomFeuille).Select
End If
End Sub
'-------------------------------------------------------------
Afin de trouver le numéro de la semaine quelle que soit la version
d'Excel
que tu utilises, emploie une des 2 fonctions suivantes que tu peux placer
(copier) directement dans le Thisworkbook ou dans un module standard que tu
ajoutes au projetVBA.
'-------------------------------------------------------------
Sub NOSEM_américaine()
D = Range("G8")
NOSEM = Application.Ceiling(((D - DateSerial(Year(D), 1, 1)) / 7 +
1), 1)
End Sub
'-------------------------------------------------------------
Sub NOSEM_européenne() de Laurent Longre
D = Range("G1")
NOS = DateSerial(Year(D + (8 - WeekDay(D)) Mod 7 - 3), 1, 1)
NOSEM = ((D - NOS - 3 + (WeekDay(NOS) + 1) Mod 7)) 7 + 1
End Sub
'-------------------------------------------------------------
MichD
Bonjour,
Pour ouvrir la fenêtre VBA : Alt+F11
Dans le module ThisWorkbook collez ceci:
Dans cette procédure, tu dois remplacer
"NOSEM_européenne" par
"NOSEM_américaine" selon que tu es européen ou
nord-américain.
'-------------------------------------------------------------
Private Sub Workbook_Open()
Dim Sh As Worksheet
Dim NomFeuille As String
On Error Resume Next
NomFeuille = "Semaine " & NOSEM_européenne
Set Sh = ThisWorkbook.Worksheets(NomFeuille)
If Err <> 0 Then
Err = 0
MsgBox "Il n'y a aucune feuille dans ce classeur " & _
"au nom de """ & NomFeuille &
"""."
Else
Worksheets(NomFeuille).Select
End If
End Sub
'-------------------------------------------------------------
Afin de trouver le numéro de la semaine quelle que soit la version
d'Excel
que tu utilises, emploie une des 2 fonctions suivantes que tu peux placer
(copier) directement dans le Thisworkbook ou dans un module standard que
tu
ajoutes au projetVBA.
'-------------------------------------------------------------
Sub NOSEM_américaine()
D = Range("G8")
NOSEM = Application.Ceiling(((D - DateSerial(Year(D), 1, 1)) / 7 +
1), 1)
End Sub
'-------------------------------------------------------------
Sub NOSEM_européenne() de Laurent Longre
D = Range("G1")
NOS = DateSerial(Year(D + (8 - WeekDay(D)) Mod 7 - 3), 1, 1)
NOSEM = ((D - NOS - 3 + (WeekDay(NOS) + 1) Mod 7)) 7 + 1
End Sub
'-------------------------------------------------------------
MichD
Bonjour,
Pour ouvrir la fenêtre VBA : Alt+F11
Dans le module ThisWorkbook collez ceci:
Dans cette procédure, tu dois remplacer
"NOSEM_européenne" par
"NOSEM_américaine" selon que tu es européen ou
nord-américain.
'-------------------------------------------------------------
Private Sub Workbook_Open()
Dim Sh As Worksheet
Dim NomFeuille As String
On Error Resume Next
NomFeuille = "Semaine " & NOSEM_européenne
Set Sh = ThisWorkbook.Worksheets(NomFeuille)
If Err <> 0 Then
Err = 0
MsgBox "Il n'y a aucune feuille dans ce classeur " & _
"au nom de """ & NomFeuille &
"""."
Else
Worksheets(NomFeuille).Select
End If
End Sub
'-------------------------------------------------------------
Afin de trouver le numéro de la semaine quelle que soit la version
d'Excel
que tu utilises, emploie une des 2 fonctions suivantes que tu peux placer
(copier) directement dans le Thisworkbook ou dans un module standard que
tu
ajoutes au projetVBA.
'-------------------------------------------------------------
Sub NOSEM_américaine()
D = Range("G8")
NOSEM = Application.Ceiling(((D - DateSerial(Year(D), 1, 1)) / 7 +
1), 1)
End Sub
'-------------------------------------------------------------
Sub NOSEM_européenne() de Laurent Longre
D = Range("G1")
NOS = DateSerial(Year(D + (8 - WeekDay(D)) Mod 7 - 3), 1, 1)
NOSEM = ((D - NOS - 3 + (WeekDay(NOS) + 1) Mod 7)) 7 + 1
End Sub
'-------------------------------------------------------------
MichD
Bonjour,
Pour ouvrir la fenêtre VBA : Alt+F11
Dans le module ThisWorkbook collez ceci:
Dans cette procédure, tu dois remplacer
"NOSEM_européenne" par
"NOSEM_américaine" selon que tu es européen ou
nord-américain.
'-------------------------------------------------------------
Private Sub Workbook_Open()
Dim Sh As Worksheet
Dim NomFeuille As String
On Error Resume Next
NomFeuille = "Semaine " & NOSEM_européenne
Set Sh = ThisWorkbook.Worksheets(NomFeuille)
If Err <> 0 Then
Err = 0
MsgBox "Il n'y a aucune feuille dans ce classeur " & _
"au nom de """ & NomFeuille &
"""."
Else
Worksheets(NomFeuille).Select
End If
End Sub
'-------------------------------------------------------------
Afin de trouver le numéro de la semaine quelle que soit la version
d'Excel
que tu utilises, emploie une des 2 fonctions suivantes que tu peux placer
(copier) directement dans le Thisworkbook ou dans un module standard que
tu
ajoutes au projetVBA.
'-------------------------------------------------------------
Sub NOSEM_américaine()
D = Range("G8")
NOSEM = Application.Ceiling(((D - DateSerial(Year(D), 1, 1)) / 7 +
1), 1)
End Sub
'-------------------------------------------------------------
Sub NOSEM_européenne() de Laurent Longre
D = Range("G1")
NOS = DateSerial(Year(D + (8 - WeekDay(D)) Mod 7 - 3), 1, 1)
NOSEM = ((D - NOS - 3 + (WeekDay(NOS) + 1) Mod 7)) 7 + 1
End Sub
'-------------------------------------------------------------
MichD
Bonjour,J'ai réussi, merci pour vos réponses !
J'ai aperçu plusieurs Posts ressemblant aux miens mais je n'ai jamais
réussi à l'appliquer à mon cas.
Alors j'ai un fichier Excel avec 53 feuilles (52 semaines/an et parfois 53).
Les feuilles sont nommées Semaine 01, Semaine 02.. - ..Semaine 53.
J'aimerais qu'à l'ouverture du fichier Excel, la bonne feuille s'ouvre.
Si on est le 02/10/17, le fichier Excel s'ouvre sur la feuille
"e;e;Semaine 40"e;e;.
J'ai cru comprendre que je devais utiliser un code dans VBA mais je ne
maîtrise pas du tout.
Merci d'avance pour vos réponses !
Bonjour,J'ai réussi, merci pour vos réponses !
J'ai aperçu plusieurs Posts ressemblant aux miens mais je n'ai jamais
réussi à l'appliquer à mon cas.
Alors j'ai un fichier Excel avec 53 feuilles (52 semaines/an et parfois 53).
Les feuilles sont nommées Semaine 01, Semaine 02.. - ..Semaine 53.
J'aimerais qu'à l'ouverture du fichier Excel, la bonne feuille s'ouvre.
Si on est le 02/10/17, le fichier Excel s'ouvre sur la feuille
"e;e;Semaine 40"e;e;.
J'ai cru comprendre que je devais utiliser un code dans VBA mais je ne
maîtrise pas du tout.
Merci d'avance pour vos réponses !