Microsoft 365 Suppression de doublons en fonction d'une valeur

GBA1977

XLDnaute Nouveau
Bonjour à tous,
Je vous contacte car je n'ai pas trouvé de solution dans le forum. Par avance, je vous remercie pour votre aide :)
Je ne peux pas vous communiquer le fichier car il s'agit de données client, mais je vous mets un rapide exemple en image ci-après.

J'ai deux fichiers de rapport qui proviennent d'inscriptions des mêmes apprenants sur deux sessions de formation identiques (une en février et une en juillet). Certains ont commencé / terminé ou n'ont pas commencé une des deux sessions. Certains ont commencé en février et ont finalement terminé sur celle de juillet.

J'ai exporté les deux rapports et les ai fusionnés pour mettre en évidence les apprenants qui se sont connectés aux deux sessions. Maintenant, je souhaite supprimer les apprenants doublons, en gardant un des deux en fonction de la colonne ETAT (E). Par exemple (voir ci-après) :
- Si l'un des états est "Non commencé" et l'autre "Terminé" ou "En cours", je souhaite garder "Terminé" ou "En cours"
- Si les deux états sont tous les deux en "Non commencé", je souhaite garder au moins une des deux lignes

Je souhaite donc toujours garder l'état le plus avancé de mon apprenant
1608487070406.png


J'ai essayé la macro suivante mais il me supprime toutes les lignes en "Non commencé", même pour mes apprenants qui ne sont pas en doublons initialement, et ce n'est pas ce que je souhaite :

Sub Suppr()
Dim D As Long
Dim Plage As String

D = 2
While D <= 8739
If Cells(D, 5).Value = "Non commencé" Then
Plage = D & ":" & D
Rows(Plage).Delete Shift:=xlUp
Else
D = D + 1
End If
Wend
End Sub
 

Staple1600

XLDnaute Barbatruc
Bonsoir


Si j'étais moi, j'utiliserai un TCD dans cette situation.
C'est plus ergonomique, non ?
(Et plus esthétique aussi)

Je ne peux pas vous communiquer le fichier car il s'agit de données client, mais je vous mets un rapide exemple en image ci-après.
IL eut été plus pratique de joindre le fichier Excel (je parle de celui de l'image)
Parce que une image, ca ne cause pas le VBA, mais Excel, oui ;)
 

GBA1977

XLDnaute Nouveau
Bonsoir


Si j'étais moi, j'utiliserai un TCD dans cette situation.
C'est plus ergonomique, non ?
(Et plus esthétique aussi)

Bonsoir,
merci de votre réponse. Le problème est que je dois faire justement des rapports consolidés à mon client en utilisant les TCD. Afin de ne pas commettre d'erreurs, j'aimerais que mes données de base soient clean. Voila pourquoi je souhaiterais d'abord supprimer ces doublons. Il ne faut pas qu'une personne apparaisse 2 fois dans les TCD. Elle doit apparaître une seule fois avec l'état d'avancement le plus avancé.
 

GBA1977

XLDnaute Nouveau
Bonsoir


Si j'étais moi, j'utiliserai un TCD dans cette situation.
C'est plus ergonomique, non ?
(Et plus esthétique aussi)


IL eut été plus pratique de joindre le fichier Excel (je parle de celui de l'image)
Parce que une image, ca ne cause pas le VBA, mais Excel, oui ;)
Celui de l'image n'existe pas, j'ai juste mis quelques lignes avec de faux noms. Mais je vais du coup essayer d'en faire un du même type afin de vous le partager, en changeant les noms. Je reviens vers vous dans la matinée
 

GBA1977

XLDnaute Nouveau
Re bonjour, voici le fichier Excel exemple. J'espère que ça suffira. J'ai mis un petit commentaire en plus sur une des lignes pour que ce soit plus clair pour ce cas.
Merci beaucoup et je te souhaite l'inspiration pour ton menu :)
 

Pièces jointes

  • Fichier_Test.xlsx
    10.6 KB · Affichages: 16

Statistiques des forums

Discussions
291 501
Messages
1 915 830
Membres
178 990
dernier inscrit
shadowtheone
Haut Bas