Bonjour à tous,
Je viens vers vous car malgré une recherche de plus d'une heure et une demande à Chat GPT (Je sais c'est pas parfait mais je voulais essayer de voir une autre idée), je me retrouve toujours bloqué et je n'ai pas trouvé équivalent sur ce forum ou sur d'autres ...
Je contextualise mon problème :
J'ai une base de données extraite depuis un logiciel interne. Dans cette BDD, j'ai environ 8K lignes (Ce sont toutes les affaires de l'entreprise, donc cette base est amenée à évoluer). (Ci joint extrait photo de la base)
Dans cette base, on va retrouver le numéro d'affaire, le NDA et le cycle. le NDA représente une immatriculation de client, elle est donc propre à un et un seul client. Cependant, en fonction du cycle, on créé une nouvelle affaire.
Par exemple le client immatriculé sous le numéro 123456789 peut avoir deux affaire si il change de cycle
Dans l'exemple ci dessus, on voit bien que le même NDA possède 3 cycles différents et 3 numéros d'affaires.
Ce que je souhaite faire, c'est : Si le NDA est déjà présent alors supprimer TOUTES les lignes correspondantes. donc dans l'exemple en haut, les 3 lignes.
L'objectif de ce fichier est d'identifier les clients n'ayant pas encore pris contact avec nous et donc n'ayant qu'un seul cycle.
Je précise aussi que cette macro sera présente sur le PERSONAL.xlsb car il s'agit d'une extraction qu'ils devront réaliser tous les mois.
J'espère que ceci est compréhensible !
Le code que j'avais imaginé au début est quelque chose comme ça cependant il ne me semble ni optimisé ni ultra fonctionnel en vérité.
Un grand merci d'avance hâte de vous lire !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 For Each Cell In WsBdd.Range("B2:B" & DernLign).Cells ValeurCherchee = Cell.value For i = DernLign To 1 Step -1 If Cells(i, 1).Value = ValeurCherchee Then Rows(i).Delete End If Next i Next Cell
Partager