Echéance en macro

thunder23

XLDnaute Occasionnel
Bonjour le forum,

N'ayant pas une connaissance énorme en VBA je fais appel à vous pour ce que je souhaite faire. J'ai un fichier où je répertorie les adhérents d'une association avec une date d'échéance 1 an. Ce que je souhaite, c'est de pouvoir par macro, rentrer dans un tableau une liste des adhérents à qui il leur restent inférieur ou égale à 1 mois. Passé ce délai, soit actualiser la date d'échéance ou supprimer l'adhérent.
J'ai mis un fichier en pièce-jointe comme exemple, pour information la liste des adhérents est évolutive, merci d'avance pour votre aide :)
 

Pièces jointes

  • testecheance.xlsx
    13.9 KB · Affichages: 19

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Thunder,
Un essai en PJ.
J'ai mis le mode d'emploi dans la feuille Recap.
J'ai choisi cette stratégie afin de ne pas supprimer intempestivement des abonnées. Donc on les traitant un à un.
Je ne pense pas qu'il y en ai beaucoup à traiter d'un coup, donc c'est plus sur.
 

Pièces jointes

  • testecheance (1).xlsm
    29.9 KB · Affichages: 9

thunder23

XLDnaute Occasionnel
Bonjour sylvanu, bonjour JBARBE, bonjour le forum,

Merci à vous deux pour vos exemple mais je préfère celui de sylvanu par contre ça ne supprime pas la ligne dans la feuille Bdd toutefois dans le fichier final j'ai un userform où je peux supprimer la ligne sur cette feuille, voici le code :
VB:
    Dim f As Worksheet
    Sheets("Bdd_adhérent").Select
    Set f = ThisWorkbook.Sheets("Bdd_adhérent")
    Application.ScreenUpdating = False
    If MsgBox("Voulez-vous supprimer cet fiche?", vbYesNo, "Confirmation") = vbYes Then
          f.Range(f.Cells(MaLigne, "A"), f.Cells(MaLigne, "N")).Select
          Selection.Delete shift:=xlUp
    End If
    Sheets("Accueil").Select
    MsgBox "Adhérent supprimé avec succès ! "
    Set f = Nothing

Est-il possible de l'intégrer dans ton code?
En fait il supprime la ligne en entier et fait remonter les autres lignes en fonction de la ligne où etait l'adhérent, merci :)
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Désolé Thunder mais ma PJ fonctionne chez moi. Voir Gif.
Pour supprimer une ligne il faut entrer 1 dans la boite de dialogue.

20200921_185614.gif
 

thunder23

XLDnaute Occasionnel
Re sylvanu,

J'ai voulu transféré ton code dans le fichier final mais rien ne fonctionne. J'ai essayé de modifier en fonction du fichier exemple et le miens pour l'adapter mais sans succès.
Je t'ai mis le fichier où doit aller ce code en pièce-jointe car là je ne vois pas d'où ça peu venir o_O
 

Pièces jointes

  • adhérent.xlsm
    87.3 KB · Affichages: 6

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Evidemment il faut ré-adapter toutes les colonnes.
Par exemple :
VB:
Cells(Lw, "N") = Sheets("Bdd_adhérent").Cells(L, "A")
Dans la colonne N je met le nom qui est en colonne A.
( précédemment dans le fichier exemple c'était colonne B )
et c'est vrai pour toutes les données.

Essayez cette PJ.
 

Pièces jointes

  • adhérent2.xlsm
    83 KB · Affichages: 8

thunder23

XLDnaute Occasionnel
Re,
Evidemment il faut ré-adapter toutes les colonnes.
Par exemple :
VB:
Cells(Lw, "N") = Sheets("Bdd_adhérent").Cells(L, "A")
Dans la colonne N je met le nom qui est en colonne A.
( précédemment dans le fichier exemple c'était colonne B )
et c'est vrai pour toutes les données.

Essayez cette PJ.

Re,

effectivement ça fonctionne beaucoup mieux, j'ai voulu comprendre au mieux se que tu avais modifié entre le premier exemple et l'adaptation à mon fichier et j'avais oublié quelques étapes...:oops:

Merci beaucoup pour ton aide ;)
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Dans mon fichier exemple du post #2, Nom/Prénom/Date/reste étaient en colonne BCDE et commençait en ligne 6.
Dans votre fichier de travail, les colonnes sont NOPQ et commence en 15.

Donc chaque ligne de code comportant une de ces colonnes doit être remaniée.
Par ex :
VB:
Nom = Cells(Target.Row, "B"): PréNom = Cells(Target.Row, "C")
devient
Code:
Nom = Cells(Target.Row, "N"): PréNom = Cells(Target.Row, "O")
Car Nom passe de la colonne B à la colonne N, Prénom de C à O.
Et ceci est vrai pour quasi toutes les lignes de code.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
J'en veux pour preuve ..... qu'il reste un bug. :mad:
Dans la fenêtre, j'avais préparé la date qui était dans le tableau par :
VB:
DateEnCours = Cells(Target.Row, "D")
... et que j'ai oublié de rectifier. C'est pour cela qu'aucune date n'apparait dans la fenêtre.
Il fallait écrire :
Code:
DateEnCours = Cells(Target.Row, "P")
Chose que j'ai fait dans la PJ. Sorry.
 

Pièces jointes

  • adhérent3.xlsm
    83.3 KB · Affichages: 3

thunder23

XLDnaute Occasionnel
J'en veux pour preuve ..... qu'il reste un bug. :mad:
Dans la fenêtre, j'avais préparé la date qui était dans le tableau par :
VB:
DateEnCours = Cells(Target.Row, "D")
... et que j'ai oublié de rectifier. C'est pour cela qu'aucune date n'apparait dans la fenêtre.
Il fallait écrire :
Code:
DateEnCours = Cells(Target.Row, "P")
Chose que j'ai fait dans la PJ. Sorry.

Re,

Eh ben je t'avouerais que je n'ai pas fait la remarque car ça fonctionnait quand même toutefois j'ai rectifié également et ça fonctionne aussi ;)

J'aurais une petite question, est-il possible de pouvoir archivé la ligne qui est supprimé par ton code sur une autre feuille. J'essaye depuis tout à l'heure mais ça me copie la ligne en intégralité alors que je voudrais que jusqu'à la colonne L :rolleyes:
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof