Macro récupérant l'année d'une date et bascule vers l'onglet de même nom...

Kronos

XLDnaute Nouveau
Bonjour,

je suis un grand débutant en macros Excel 2007....et malgré mes recherches sur différents forums, je sèche sur un problème sans doute très simple.

En cellule J1, j'ai une date au format mm/dd/yyyy par exemple 10/28/2009. Cette date peut changer selon ce que rentre l'utilisateur.

Je voudrais avec une macro pouvoir récupérer l'année dans une variable ( 2009 ) pour ensuite ouvrir automatiquement l'onglet de la feuille excel qui s'intitule 2009.
Si par exemple on tape en J1 07/24/2010 , la macro doit pouvoir activer l'onglet "2010".

Voilà où j'en suis dans cette macro sans pouvoir aller plus loin sans votre aide:

J'ai testé ça dans le code mais sans succès...:(

Sheets(a).Activate


Code:
Sub Test()
Dim Dte As Date
Dim a As Integer
Dim Date1 As Date


 
Dte = DateValue(Range("J1"))
j = Day(Dte)
m = Month(Dte)
a = Year(Dte)
 
MsgBox " - année: " & a

If a = 2009 Then

Sheets("2009").Activate

End If

End Sub

Merci pour vos conseils...
 

Kronos

XLDnaute Nouveau
Re : Macro récupérant l'année d'une date et bascule vers l'onglet de même nom...

Magnifique, c'est exactement ce code qu'il me faut.

De cette manière, quelque soient les procédures de la macro, je peux toujours activer les bonnes feuilles sans erreurs...

j'ai testé ce code et c'est tout bon:
Merci :)

Code:
Sub Test4()

Sheets(CStr(Year(Sheets("Feuil2").Range("J1").Value))).Activate
MsgBox "F2"

Sheets(CStr(Year(Sheets("Feuil2").Range("L1").Value))).Activate
MsgBox "F3"

Sheets(CStr(Year(Sheets("Feuil2").Range("J1").Value))).Activate
MsgBox "F4"
End Sub
 

sakura

XLDnaute Nouveau
Bonjour,
C'est génial tout ça moi je cherche à faire presque pareil mais c'est le mois que je dois prendre pour ouvrir l'onglet suivant la date du jour avec la formule =aujourdhui()
J'ai regardé le code et j'ai voulu mettre ça mais ça ne marche pas...
Dim Dte As Date
Dim m As Variant
Dim Date1 As Date
Dte = DateValue(Range("L1"))
j = Day(Dte)
m = CStr(Month(Dte))
a = CStr(Year(Dte))
Sheets(m).Activate

Quelqu'un pour m'aider ?
Merci
 

zebanx

XLDnaute Accro
Bonjour à tous.

Petite astuce. Sur la partie gauche à côté du premier onglet (flèches), faire un clic droit et normalement les feuilles apparaissent classées dans l'ordre de présentation et vous pouvez faire votre sélection.
Utile quand on gère beaucoup de feuilles sur un même classeur.

Cdlt
thierry
 

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 264
Membres
103 500
dernier inscrit
Suk Ram