J'ai un document où dans le 1er onglet il y a une date de type 01/01/2012 qui se trouve en A1. Dans ce même doc, il y a 12 onglets supplémentaires qui correspondent à chacun des mois de l'année.
Je cherche à obtenir une macro qui en fonction du mois de la date en A1 de l'onglet 1, redirige vers l'onglet du mois correspondant.
Je débute en VBA, alors je me suis entrainé avec la fonction If, mais je ne parviens pas à trouver un code qui permette juste de rechercher le mois d'une date.
(...)
Le code "toto" de Roger2327 exécute bien cette manipulation, cependant ce code n'attend pas que je rentre mes données mais s'exécute dès lors que je change la date en C5.
(...)
En fait, ce n'est pas seulement le code toto, mais tout le code qui s’exécute lorsque la date change en C15 puisque vous en avez décidé ainsi en écrivant :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$5" Then MiseAJour True ' True indique que l'on copie vers la page "Main Courante"
End Sub
dans le module de la feuille Feuil1.
ROGER2327 #5539
Dimanche 1er Pédale 139 (Erection du Surmâle - fête Suprême Tierce) 5 Ventôse An CCXX, 6,1958h - bouc 2012-W08-5T14:52:12Z
C'est parfait merci!!
Une autre question: comment puis-je adapter ce code en faisant en sorte qu'il recherche en fonction non seulement du mois mais aussi de l'année? (sachant bien entendu que je renommerai mes onglets en fonction)
C'est parfait merci!!
Une autre question: comment puis-je adapter ce code en faisant en sorte qu'il recherche en fonction non seulement du mois mais aussi de l'année? (sachant bien entendu que je renommerai mes onglets en fonction)
Ne remerciez pas trop vite ! Dans la précipitation, j'ai fait un truc pas très propre...
Il est plus sûr d'écrire :
VB:
Sub toto()
Dim k&, s$, f$
f = "mmmm yyyy"
With [C15]
s = Format(.Value, f)
k = DateSerial(Year(.Value), 1, 1)
End With
For k = k To k + 352 Step 32
If s = Format(k, f) Then Sheets(s).Activate: Exit For
Next
End Sub
les onglets étant du type janvier 2012, février 2012, ....
Si vous préférez des onglets nommés, par exemple, 2012-01, 2012-02, ..., il vous suffira de changer "mmmm yyyy" en "yyyy-mm".
Bonne soirée.
ROGER2327 #5542
Dimanche 1er Pédale 139 (Erection du Surmâle - fête Suprême Tierce) 5 Ventôse An CCXX, 7,1876h - bouc 2012-W08-5T17:15:01Z