Citation :
suis je obligé de passer par du VB ?
|
Ca doit etre faisable sans.. mais ca me semble plus simple avec
Citation :
Si c'est le cas, est ce que la fonction peut être appelée de manière automatique quand la date du premier classeur change?
|
Oui, en placant l'appel a ta fonction dans l'evenement
Code :
- Private Sub Worksheet_Change(ByVal Target As Range)
|
de ta feuille (dans l'editeur VB, bouton droit sur ta feuil1->Afficher le code)
Citation :
En fonction de la date, je dois aller chercher dans le bon classeur (en fonction de l'année) et dans le bon onglet (en fonction du mois) pour remplir le premier classeur (qui contient la date sur laquelle je fais mes tests).
|
Pour info, la fonction Year te renverra l'annee de ta date et la fonction Month pour recuperer le mois.
Un ptit exemple:
Code :
- ' Affiche le mois et l'annee contenu dans les cellules du
- ' range r (ATTENTION chaque cellule du range doit contenir
- ' une date!
- Private Sub fAffMonthAndYear(r As Range)
- Dim c As Range
- For Each c In r
- MsgBox "mois: " & Month(c.Value) & vbNewLine & "annee: " & Year(c.Value)
- Next c
- End Sub
- 'Suppose que les cellules "A1:A3" contiennent des dates
- Private Sub Worksheet_Change(ByVal Target As Range)
- Dim rModified As Range
- Set rModified = Application.Intersect(Target, Range("A1:A3" ))
- If Not rModified Is Nothing Then Call fAffMonthAndYear(rModified)
- End Sub
|
---------------
Guendalf