Résolu 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 :)
 

Fichiers joints

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.
 

Fichiers joints

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 :)
 

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
 

Fichiers joints

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.
 

Fichiers joints

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.
 

Fichiers joints

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:
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas