XL 2010 extraire des noms selon mois de naissance

65debutant

XLDnaute Nouveau
bonjour
je "bidouille" une application pour notre club d'anciens dans laquelle je souhaiterais afficher les anniversaires du mois en cours et du mois suivant.
A partir d'une base de données (onglet adhérents"), j'ai copié la même liste sur l'onglet "copie adh" pour extraire le mois d'anniversaire.
Je souhaiterais afficher dans l'onglet " anniv", une liste (sans ligne vide) n'affichant que les adhérents dont l'anniversaire "tombe" dans le mois en cours + une autre liste pour le mois suivant. Nous sommes environ 120 adhérents
J'ai bien pensé utiliser EQUIV + INDEX mais reste le problème des lignes vides ou des lignes dont le mois ne correspond pas au mois en cours.
Le fichier joint n'est qu'un extrait de mon fichier de travail.
Merci d'avance de votre aide
 

Pièces jointes

  • gestionclub v1d forum.xlsm
    39.2 KB · Affichages: 13

Jacky67

XLDnaute Barbatruc
bonjour
je "bidouille" une application pour notre club d'anciens dans laquelle je souhaiterais afficher les anniversaires du mois en cours et du mois suivant.
A partir d'une base de données (onglet adhérents"), j'ai copié la même liste sur l'onglet "copie adh" pour extraire le mois d'anniversaire.
Je souhaiterais afficher dans l'onglet " anniv", une liste (sans ligne vide) n'affichant que les adhérents dont l'anniversaire "tombe" dans le mois en cours + une autre liste pour le mois suivant. Nous sommes environ 120 adhérents
J'ai bien pensé utiliser EQUIV + INDEX mais reste le problème des lignes vides ou des lignes dont le mois ne correspond pas au mois en cours.
Le fichier joint n'est qu'un extrait de mon fichier de travail.
Merci d'avance de votre aide
Bonjour,
Une proposition en Pj avec le code ci-dessous
La mise à jour se fait à la sélection de la feuille "anniv"
VB:
Private Sub Worksheet_Activate()
    Dim C As Range, Lig&, Lig1&
    Lig = 5: Lig1 = 5
    Range("d5:e" & Rows.Count).ClearContents
    For Each C In [Tadhere[Date de Naissance]]
        If Month(C) = Month(Date) Then Cells(Lig, "d") = C.Offset(, -5) & " " & C.Offset(, -4): Lig = Lig + 1
        If Month(C) = Month(Application.EDate(Date, 1)) Then Cells(Lig1, "e") = C.Offset(, -5) & " " & C.Offset(, -4): Lig1 = Lig1 + 1
    Next
End Sub
 

Pièces jointes

  • gestionclub v1d forum .xlsm
    38 KB · Affichages: 6

Jacky67

XLDnaute Barbatruc
Merci beaucoup Jacky
Cela correspond à ce que je recherche
Puis je te demander un autre coup de main ?. A savoir, que je voudrais rappeler dans la liste la date de naissance (jour et mois)
par exemple ( Teddy FICILE le 25 décembre)
Merci d'avance
Re..
Le format des dates est modifiable dans ….Format(C, " dd mmmm")...
 

Pièces jointes

  • gestionclub v2d forum .xlsm
    38.9 KB · Affichages: 11