[question] Gestion des doublon avec conservation des différences entre donnée de base

Dorylis

XLDnaute Nouveau
Bonjour

J'ai un problème pour la gestion des données

J'ai plusieurs listes de références (plus de une 20ene de liste de plus de 1000 référence) qui s'adapte sur ensembles de pièces (colonnes B et C),et des informations complémentaire.

pour facilité la gestion je voudrait faire en sorte de pouvoir passer du tableau 1 au tableau 2 via une macro

Donc je voudrait supprimer tous les doublon dans les références mais garder le numéro de l'ensemble sur lequel elles se placent

du plus ce tableau la est juste un exemple en general j'ai au minimum 20 ensembles
 

Pièces jointes

  • gestion des doublon.xlsx
    9.5 KB · Affichages: 77

flyonets44

XLDnaute Occasionnel
Re : [question] Gestion des doublon avec conservation des différences entre donnée de

Bonjour
j'ai concocté cet exemple pour toi
Svp ne pas utiliser de cellules fusionnées quand on utilise des macros car elles créent
des bugs dans le traitement
Cordialement
Flyonets
 

Pièces jointes

  • gestion des doublon.xls
    60 KB · Affichages: 84
  • gestion des doublon.xls
    60 KB · Affichages: 88
  • gestion des doublon.xls
    60 KB · Affichages: 90

gbinforme

XLDnaute Impliqué
Re : [question] Gestion des doublon avec conservation des différences entre donnée de

Bonjour,

En essayant de faire comme ton modèle tu as une macro qui crée un second tableau similaire.

Bon test.
 

Pièces jointes

  • gestion des doublon.xls
    60 KB · Affichages: 75
  • gestion des doublon.xls
    60 KB · Affichages: 92
  • gestion des doublon.xls
    60 KB · Affichages: 85

Dorylis

XLDnaute Nouveau
Re : [question] Gestion des doublon avec conservation des différences entre donnée de

Bonjour,

En essayant de faire comme ton modèle tu as une macro qui crée un second tableau similaire.

Bon test.

Merci beaucoup

sa fonctionne tres bien (j'ai pas essayer de faire des modification mais je vais tester se soir)

tu m’enlève une grosse épine du pied si tous se passe le boulot qui me prend 4 a 5 hr par semaine devrais me prend beaucoup moins

Si je me trompe pas il y a juste a choisir la position le début des 2 tableaux et la macro s'adapte au nombre et lignes et colonnes

PS : Si je me trompe pas flyonets44 il est vrais que les cellules fusionnée génère des problèmes mais si tu les prend en compte dans la macro (soit en lançant la macro après comme gbinforme,soit en fessant une mise en page a la fin de la macro mais sa je sais plus comment faire) il y a pas de vrais probleme
 
Dernière édition:

gbinforme

XLDnaute Impliqué
Re : [question] Gestion des doublon avec conservation des différences entre donnée de

Si je me trompe pas il y a juste a choisir la position le début des 2 tableaux et la macro s'adapte au nombre et lignes et colonnes

C'est exactement cela (positionner B3 et G10 sur les cellules du titre "Référence" concernées) et le nombre d'ensembles présents (qui sont classés) dans le premier tableau adapte le nombre de colonnes du second : il faut la place nécessaire.

Tu peux lancer la macro avec un raccourci clavier ou alt + F8 après avoir copié la macro dans ton classeur et positionné les adresses des tableaux.
 

Dorylis

XLDnaute Nouveau
Re : [question] Gestion des doublon avec conservation des différences entre donnée de

Je vient de tester avec des modifications (un vrais plaisir a modifier ton programme il est super clair et tres simple)

Code:
For lg1 = dt1.Row + 1 To Cells(Columns(dt1.Column).Cells.Count, dt1.Column).End(xlUp).Row
    For lg2 = dt2.Row + 1 To Cells(Columns(dt2.Column).Cells.Count, dt2.Column).End(xlUp).Row + 1
        If Cells(lg1, dt1.Column).Value < Cells(lg2, dt2.Column).Value _
            Or Cells(lg2, dt2.Column).Value = "" Then
                Cells(lg2, dt2.Column).Resize(1, nbe + 3).Insert xlDown
                Cells(lg2, dt2.Column).Value = Cells(lg1, dt1.Column).Value
                Cells(lg2, dt2.Column).Offset(0, 1).Value = Cells(lg1, dt1.Column).Offset(0, 2).Value
                Cells(lg2, dt2.Column).Offset(0, 2).Value = Cells(lg1, dt1.Column).Offset(0, 3).Value
                Cells(lg2, dt2.Column).Offset(0, 3).Value = Cells(lg1, dt1.Column).Offset(0, 4).Value
        End If
        If Cells(lg1, dt1.Column).Value = Cells(lg2, dt2.Column).Value Then
            For col = 1 To ens.Count
                If ens.Item(col) = Cells(lg1, dt1.Column).Offset(0, 1).Value Then Exit For
            Next col
            Cells(lg2, dt2.Column).Offset(0, 3 + col).Value = ens.Item(col)
            Exit For
        End If
    Next lg2
Next lg1

Juste en ajoutant :
Code:
Cells(lg2, dt2.Column).Offset(0, 3).Value = Cells(lg1, dt1.Column).Offset(0, 4).Value

et en modifiant
Code:
Cells(lg2, dt2.Column).Offset(0, 3 + col).Value = ens.Item(col)

le => Offset(0, 2 + col) en Offset (0, 3 + col) <=

j'ai ajouter une colonne d'information de plus


Merci pour tout

Bon je vais voir si je peut aider moi aussi même si je suis plus "formule" que "macro"
 

Discussions similaires

Statistiques des forums

Discussions
312 623
Messages
2 090 287
Membres
104 482
dernier inscrit
delannay