Excel 2003 : se positionner sur la bonne feuille

Le
Zéphyrin
Bonsoir,

Ne connaissant pas le langage macro, je ne sais pas s'il est possible de
répondre au besoin suivant :

Un fichier mensuel est composé de 4 ou 5 feuilles, une pour chaque
semaine du mois.
A l'ouverture de ce fichier, est-il possible positionner automatiquement
comme active la feuille de la semaine correspondant au jour de la date
système ?

Merci d'avance de vos conseils éclairés.

Cordialement,
Zéphyrin
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #20295721
bonjour Zéphyrin,

peut tu donner un exemple du nom des onglets de ce fichier ?

isabelle

Zéphyrin a écrit :
Bonsoir,

Ne connaissant pas le langage macro, je ne sais pas s'il est possible
de répondre au besoin suivant :

Un fichier mensuel est composé de 4 ou 5 feuilles, une pour chaque
semaine du mois.
A l'ouverture de ce fichier, est-il possible positionner
automatiquement comme active la feuille de la semaine correspondant au
jour de la date système ?

Merci d'avance de vos conseils éclairés.

Cordialement,
Zéphyrin


Caetera
Le #20297451
"Zéphyrin"

Ne connaissant pas le langage macro, je ne sais pas s'il est possible de
répondre au besoin suivant :
Un fichier mensuel est composé de 4 ou 5 feuilles, une pour chaque semaine du
mois.
A l'ouverture de ce fichier, est-il possible positionner automatiquement comme
active la feuille de la semaine correspondant au jour de la date système ?



********************

A défaut de plus amples renseignements, à mettre dans le module ThisWorbook

Private Sub Workbook_Open()
For i = 1 To Sheets.Count
Sheets(i).Select
On Error Resume Next
Cells.Find(What:Úte, LookIn:=xlFormulas).Select
If Err.Number = 0 Then Exit For
Next
End Sub

Etc
Zéphyrin
Le #20299171
Bonjour,

Par exemple onglet 1 "1ère semaine", onglet 2 "2ème semaine", etc ...
pour ne pas devoir modifier les noms chaque mois.
Aujourd'hui 06 octobre, le fichier s'ouvrirait sur l'onglet "2ème semaine".
Zéphyrin

isabelle a écrit :
bonjour Zéphyrin,

peut tu donner un exemple du nom des onglets de ce fichier ?

isabelle

Zéphyrin a écrit :
Bonsoir,

Ne connaissant pas le langage macro, je ne sais pas s'il est possible
de répondre au besoin suivant :

Un fichier mensuel est composé de 4 ou 5 feuilles, une pour chaque
semaine du mois.
A l'ouverture de ce fichier, est-il possible positionner
automatiquement comme active la feuille de la semaine correspondant au
jour de la date système ?

Merci d'avance de vos conseils éclairés.

Cordialement,
Zéphyrin




michdenis
Le #20300141
Bonjour Zéphyrin,

Dans le ThisWorkbook de ton fichier :

Worksheets(X).Select
Le X représente l'index de la feuille
Cela suppose que tes feuilles sont en
ordre croissant.... à moins que tes feuilles
porte le nom 1 ,2,3,4,5 comme onglet...

'---------------------------------------
Private Sub Workbook_Open()
Dim X As Integer
X = Application.WorksheetFunction.Ceiling((Day(Date)) / 7, 1)
X = 5
If X <= Worksheets.Count Then
Worksheets(X).Select
Else
MsgBox "La feuille """ & X & """ & est introuvable"
End If
End Sub
'---------------------------------------



"Zéphyrin"
Bonsoir,

Ne connaissant pas le langage macro, je ne sais pas s'il est possible de
répondre au besoin suivant :

Un fichier mensuel est composé de 4 ou 5 feuilles, une pour chaque
semaine du mois.
A l'ouverture de ce fichier, est-il possible positionner automatiquement
comme active la feuille de la semaine correspondant au jour de la date
système ?

Merci d'avance de vos conseils éclairés.

Cordialement,
Zéphyrin
FFO
Le #20300421
Salut à toi

Je te propose ce code à mettre dans le ThisWorbook du classeur :

Private Sub Workbook_Open()
For i = 1 To 30
If Format(i & Format(Date, "/mm/yy"), "dddd") = "lundi" Then
Exit For
End If
Next
For J = 1 To 5
If i + n >= Format(Date, "dd") * 1 Then
Exit For
End If
n = n + 7
Next
Sheets("Semaine " & J).Activate
End Sub

Sur ce lien un exemple

Fais des essais et dis moi !!!!!!


http://www.cijoint.fr/cjlink.php?file=cj200910/cijp47sNjF.xls
isabelle
Le #20300381
bonjour Zéphyrin,

essaie ceci :

Sub Macro1()
Dim n As Integer
n = Application.Ceiling((Day(Date)) / 7, 1)
For Each f In Worksheets
If Left(f.Name, 1) = n Then f.Select
Next
End Sub

isabelle

Zéphyrin a écrit :
Bonjour,

Par exemple onglet 1 "1ère semaine", onglet 2 "2ème semaine", etc ...
pour ne pas devoir modifier les noms chaque mois.
Aujourd'hui 06 octobre, le fichier s'ouvrirait sur l'onglet "2ème
semaine".
Zéphyrin

isabelle a écrit :
bonjour Zéphyrin,

peut tu donner un exemple du nom des onglets de ce fichier ?

isabelle

Zéphyrin a écrit :
Bonsoir,

Ne connaissant pas le langage macro, je ne sais pas s'il est
possible de répondre au besoin suivant :

Un fichier mensuel est composé de 4 ou 5 feuilles, une pour chaque
semaine du mois.
A l'ouverture de ce fichier, est-il possible positionner
automatiquement comme active la feuille de la semaine correspondant
au jour de la date système ?

Merci d'avance de vos conseils éclairés.

Cordialement,
Zéphyrin






Caetera
Le #20300791
"Zéphyrin"

Par exemple onglet 1 "1ère semaine", onglet 2 "2ème semaine", etc ... pour ne
pas devoir modifier les noms chaque mois.
Aujourd'hui 06 octobre, le fichier s'ouvrirait sur l'onglet "2ème semaine".



T'as essayé la solution que je t'ai donnée ?

(S'il y a des dates dans tes feuilles évidemment)

Etc
Zéphyrin
Le #20302781
Bonsoir,

Bravo, cela marche du feu de Dieu ! Même en sauvegardant le fichier avec
un autre onglet actif, on réouvre le 06 octobre sur la "semaine 2".

Grand merci à FFO et à tous ceux qui m'ont proposé une solution.

Bonne soirée.
Zéphyrin


FFO a écrit :
Salut à toi

Je te propose ce code à mettre dans le ThisWorbook du classeur :

Private Sub Workbook_Open()
For i = 1 To 30
If Format(i & Format(Date, "/mm/yy"), "dddd") = "lundi" Then
Exit For
End If
Next
For J = 1 To 5
If i + n >= Format(Date, "dd") * 1 Then
Exit For
End If
n = n + 7
Next
Sheets("Semaine " & J).Activate
End Sub

Sur ce lien un exemple

Fais des essais et dis moi !!!!!!


http://www.cijoint.fr/cjlink.php?file=cj200910/cijp47sNjF.xls



Publicité
Poster une réponse
Anonyme