Menu

Comparaison et match des lignes de deux colonnes [Résolu]

Messages postés
10
Date d'inscription
vendredi 26 avril 2019
Statut
Membre
Dernière intervention
2 mai 2019
- - Dernière réponse : f894009
Messages postés
14356
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
18 mai 2019
- 2 mai 2019 à 11:45
Bonjour à tous,

J'ai cherché et je ne trouve pas la réponse à ma question.

Voici mon problème :

- la colonne A ne va pas bouger (5000 lignes). Elle est constituée de lignes en double/triple mais que je dois garder.

- la colonne B contient 2500 lignes.

- Au sein de ces 2500 lignes, 2000 sont semblables à celle de la colonne A

Je souhaiterais : qu'Excel me match les cellules An et Bn qui sont identiques et me les mettent sur la même ligne.

Exemple :
A1 : A
A2 : A
A3 : B
A4 : C
A5 : C
A6 : C
A7 : D

B1 : D
B2 : E
B3 : B
B4 : C
B5 : A
B6 : F
B7 : G

devient :

A1 : A
A2 : A
A3 : B
A4 : C
A5 : C
A6 : C
A7 : D

B1 : A
B2 :
B3 : B
B4 : C
B5 :
B6 :
B7 : D
B8 : E
B9 : F
B10 : G


PS : Il y a six colonnes ensuite (qui doivent rester aligner avec les lignes de la colonne B)
J'espère que ça fait sens...

Merci!
Afficher la suite 

Votre réponse

4 réponses

Messages postés
2380
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
20 mai 2019
296
0
Merci
Bonjour,
Si j'ai bien compris :

Tu fais une colonne C avec en c1
=si(nb.si($a$1;a1=1;a1;"") et tu descends la formule
puis copier/coller valeur sur la colonne b puis supprimer colonne c

Crdlmt
DjiDji59430
Messages postés
2380
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
20 mai 2019
296 -
mon doigt a fourché
=si(nb.si($a$1;a1)=1;a1;"")
Il manquait une parenthése (ce que tu aurais pu voir !!!)
_Gis_
Messages postés
10
Date d'inscription
vendredi 26 avril 2019
Statut
Membre
Dernière intervention
2 mai 2019
-
Merci Djidji,

J'ai corrigé la formule en :

=SI(NB.SI(B:B;A2)=1;A2;"")

Cela marche à moitié (certaines cellules ne sont pas reconnues sans que je sache pourquoi)
Mais cela ne règle pas totalement ma problématique (cf. le PS)

Merci beaucoup de votre réponse quoiqu'il en soit!

:)
DjiDji59430
Messages postés
2380
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
20 mai 2019
296 -
Ça ne peut pas marcher ! tu dois mettre
=SI(NB.SI($B1:B1;A2)=1;A2;"")
_Gis_
Messages postés
10
Date d'inscription
vendredi 26 avril 2019
Statut
Membre
Dernière intervention
2 mai 2019
-
Effectivement, c'est pour cela que certaine n'étaient pas reconnues. J'avais modifier la formule totalement mais le code VBA de f89 marche à la perfection... Merci encore à vous deux!

Bonne journée
Commenter la réponse de DjiDji59430
Messages postés
14356
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
18 mai 2019
1371
0
Merci
Bonjour,
Il y a un PS qu'il ne faut surtout pas oublier.......
Commenter la réponse de f894009
Messages postés
10
Date d'inscription
vendredi 26 avril 2019
Statut
Membre
Dernière intervention
2 mai 2019
0
Merci
Bonjour à tous,

Merci pour vos réponses. Malheureusement votre formule ne fonctionne pas "vous avez entré un nombre trop important d'argument pour cette fonction"

Et de plus ceci ne peut être utiliser (cf réponse de f894009).

Mais merci beaucoup! Si vous avez une autre idée je suis preneur...

Bonne journée
Commenter la réponse de _Gis_
Messages postés
10
Date d'inscription
vendredi 26 avril 2019
Statut
Membre
Dernière intervention
2 mai 2019
0
Merci
Pour résumer et ce sera peut-être plus clair :

A1=A ; B1=A ; C1=X
A2=A ; B2=B ; C2=Z
A3=B ; B3=C ; C3=Y

Je souhaiterais :

A1=A ; B1=A ; C1=X
A2=A ; B2="vide" (ou A) ; C2="vide" (ou X)
A3=B ; B3=B ; C3=Z

Ci-joint un mini process de ce que je souhaiterais...



Merci
f894009
Messages postés
14356
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
18 mai 2019
1371 -
Re,
vu de ma fenêtre c'est une montagne
Mais la montagne accoucha d'une souris…….

Je regarde a vous faire kake chose.
_Gis_
Messages postés
10
Date d'inscription
vendredi 26 avril 2019
Statut
Membre
Dernière intervention
2 mai 2019
-
J'ai réussi via un ensemble de formule! C'est un peu plus chronophage mais ca fonctionne... Un grand merci pour votre aide malgré tout, Vous m'avez fait me sentir moins seul... :)

Bonne journée!
f894009
Messages postés
14356
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
18 mai 2019
1371 -
Re,

version VBA, sait-on jamais peut etre utile:

Sub test()
    Dim ColA As Range, ColB As Range
    
    Worksheets("feuil2").Cells.ClearContents        'raz de la feuil2
    With Worksheets("feuil1")
        derlig = .Range("A" & Rows.Count).End(xlUp).Row 'derniere cellule de la colonne A
        Set ColA = .Range("A1:A" & derlig)      'mise en memoire plage cellules colonne A
        Set ColB = .Range("B1:B" & derlig)      'mise en memoire plage cellules colonne B
        memVA = ""      'raz memoire cellule A
        For n = 1 To derlig     'boucle sur Plage A
            VA = ColA(n, 1)     'valeur
            If VA <> memVA Then     'valeur lue <> de memoire valeur
                memVA = VA      'majour memoire valeur
                Nb = Application.CountIf(ColB, VA)  'valeur existe plage B
                If Nb = 1 Then      'ok si 1
                    Lig = .Columns(2).Find(VA, .Cells(1, 2), , xlWhole).Row     'recherche ligne
                    With Worksheets("feuil2")
                        .Range("A" & n) = VA        'ecriture cellule A
                        .Range("B" & n).Resize(, 7) = Worksheets("feuil1").Range("B" & Lig & ":H" & Lig).Value      'ecriture des autres cellules
                    End With
                Else
                    MsgBox "ATTENTION: " & VA & " trouvee " & Nb & " fois!!!!!!!"           'message si 0 ou plus de 1 fois trouvee
                End If
            Else
                Worksheets("feuil2").Range("A" & n) = VA
            End If
        Next n
    End With
End Sub
_Gis_
Messages postés
10
Date d'inscription
vendredi 26 avril 2019
Statut
Membre
Dernière intervention
2 mai 2019
-
Ça fonctionne à la perfection! Merci beaucoup :)

Vous avez enchanté mon "début" de semaine!
f894009
Messages postés
14356
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
18 mai 2019
1371 -
Bonjour,

Nous ne sommes pas Merlin, mais des fois ca l'fait
Commenter la réponse de _Gis_