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
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.
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
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
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.
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.
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...
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.
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