Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

croiser les doublon pour en extraire les données uniques

  • Initiateur de la discussion Initiateur de la discussion cascado
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

cascado

XLDnaute Nouveau
bonjour
j'ai crée un tableau de clients d'un club de sport, j'ajoute manuellement des observations sur chaque clients( colonne C)
chaque semaine un logiciel me donne en export excel la liste reelle des clients ( en tenant compte des entrées./sorties)
mon problème : je veux pourvoir croiser cette base de données à mon tableau manuel afin de :
1) rajouter les nouveaux inscrit sur mon tableau manuel (idealement ils se rajouteraient à la derniere ligne du tableau
2) identifier (ou supprimer) de mon tableau ceux qui ne figurent pas dans l'export excel

en pj un tableau en exemple
ps 😛osté également sur excel-pratique.

d'avance merci
 

Pièces jointes

Re : croiser les doublon pour en extraire les données uniques

Bonsoir Cascado, bonsoir le forum,

Peut-être comme ça :

Code:
Sub Macro1()
Dim OE As Object 'déclare la variable OE (Onglet Export)
Dim OM As Object 'déclare la variable OM (Onglet Manuel)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim PLE As Range 'déclare la variable PLE (PLage onglet Export)
Dim PLM As Range 'déclare la variable PLM (PLage onglet Manuel)
Dim CEL As Range 'déclare la variable CEL (CELlule)
Dim R As Range 'déclare la variable R (Recherche)
Dim LI As Integer 'déclare la variable LI (LIgne)

Set OE = Sheets("export auto") 'définit l'onglet OE
Set OM = Sheets("tableau manuel") 'définit l'onglet OM
DL = OE.Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne 1 (=A) de l'onglet OE
Set PLE = OE.Range("A2:A" & DL) 'définit la plage PLE
DL = OM.Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne 1 (= A) de l'onglet OM
Set PLM = OM.Range("A2:A" & DL) 'définit la plage PLM
For Each CEL In PLE 'boucle sur toutes les celluels CEL de la plage PLE
    'définit la recherche R (recherche la valeur entière de la cellule CEL dans la colonne 1 (=A) de l'onglet OM)
    Set R = OM.Columns(1).Find(CEL.Value, , xlValues, xlWhole)
    If R Is Nothing Then 'condition : si aucune occurrence n'est trouvée
        'définit la ligne LI de la première cellule vide de la colonne A de l'onglet OM
        LI = OM.Cells(Application.Rows.Count, 1).End(xlUp).Row + 1
        CEL.Resize(, 2).Copy OM.Cells(LI, 1) 'copie la donnée de l'onglet OE dans l'onglet OM
    End If 'fin de la conditioon
Next CEL 'prochaine cellule de la boucle
For Each CEL In PLM 'boucle sur toutes les celluels CEL de la plage PLM
    'définit la recherche R (recherche la valeur entière de la cellule CEL dans la colonne 1 (=A) de l'onglet OE)
    Set R = OE.Columns(1).Find(CEL.Value, , xlValues, xlWhole)
    If R Is Nothing Then 'condition : si aucune occurrence n'est trouvée
        OM.Rows(CEL.Row).Delete 'supprime la ligne de la cellule CEL
    End If 'fin de la condition
Next CEL 'prochaine cellule de la boucle
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…