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

Comparer listes + Ordonner

  • Initiateur de la discussion Initiateur de la discussion Spinzi
  • 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 !

Spinzi

XLDnaute Impliqué
Bonjour à tous,

je vous expose ici mon problème car je n'ai pas trouvé mon bonheur dans le forum.
J'ai 2 listes de Reférences, et il faut que je les compare l'une à l'autre.
Si les Ref A dans Ref B, tout se passe bien, mais il peut y avoir des Ref A qui ne sont pas dans B et vice versa.

J'aimerai donc une formule, ou une VBA mais vraiment au pire, qui me permette d'ordonner tout ça (si Ref A pas dans B, laisser un trou dans colonne B).

vous allez surement mieux comprendre avec le fichier joint. Sur la feuille 1 c'est juste un test, mais ce n'est pas ce que j'attends.

Merci d'avance pour votre implication,
Cdt. 😉
 

Pièces jointes

Re : Comparer listes + Ordonner

Bonjour,

Voici une proposition par macro

Tu récureras
colonne 7 = reference
colonne 8 = nombre de présence en colonne A
colonne 9 = nombre de présence en colonne B

Code:
Sub pyrof()

Dim tab_data
Set tab_data = CreateObject("scripting.dictionary")

'--------------------------------------------lecture colonne A
l = 2
While Cells(l, 1) <> ""
    cle = Cells(l, 1)
    If tab_data.exists(cle) Then
        tmp = tab_data(cle)
        tmp(0) = 1 + tmp(0)
        tab_data(cle) = tmp
    Else
        tab_data(cle) = Array(1, 0)
    End If
    l = l + 1
Wend

'--------------------------------------------lecture colonne B
l = 2
While Cells(l, 2) <> ""
    cle = Cells(l, 2)
    If tab_data.exists(cle) Then
        tmp = tab_data(cle)
        tmp(1) = 1 + tmp(1)
        tab_data(cle) = tmp
    Else
        tab_data(cle) = Array(0, 1)
    End If
    l = l + 1
Wend

'--------------------------------------------ecriture resultat
' colonne 7 = reference
' colonne 8 = nombre de présence en colonne A
' colonne 9 = nombre de présence en colonne B
l = 2
For Each cle In tab_data
    Cells(l, 7) = cle
    Cells(l, 8) = tab_data(cle)(0)
    Cells(l, 9) = tab_data(cle)(1)
    l = l + 1
Next
End Sub

Bonne soirée
 
Re : Comparer listes + Ordonner

Bonjour,

la macro semble de fonctionner super bien.
Si j'ai bin compris, elle fait la compilation (extraction sans doublon) dans une colonne, puis liste le nombre de ref qu'elle trouve pour ref A puis ref B.

Ce que j'aimerai obtenir en fait, ou tout du moins lui dire de faire (à la macro), c'est que si elle dénombre 0 pour l'un ou l'autre, elle renvoie "Rien", si elle renvoie 1 ou plus pour ref A elle fait un sommeprod dans une colonne spécifique, et si elle renvoie 1 ou plus pour ref B, elle fait un sommeprod dans une autre colonne spécifique.

Je vous mets ci joint le vrai fichier, avec ce que j'aimerai obtenir.
 

Pièces jointes

- 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

Discussions similaires

Réponses
13
Affichages
738
M
Réponses
6
Affichages
1 K
B
Réponses
4
Affichages
2 K
BobExcel
B
T
Réponses
11
Affichages
2 K
T
Réponses
8
Affichages
1 K
J
  • Résolu(e)
Réponses
7
Affichages
866
jahsoldier
J
F
Réponses
11
Affichages
2 K
Fabiennesd
F
Réponses
5
Affichages
1 K
  • Question Question
Microsoft 365 saisie intuitive
Réponses
1
Affichages
928
W
Réponses
2
Affichages
1 K
Willystic
W
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…