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

XL 2016 Comparaison de valeur entre 2 colonnes + affichage du résultat trouvé

sgomez7

XLDnaute Nouveau
Bonjour,

Je me permets de vous solliciter car je suis bloqué pour le traiteent de données entre deux colonnes.
Ce dont j'ai besoin c'est de trouver entre deux colonnes une ressemblance entre les chaines de caractères et s'il y a une correspondance, afficher le résultat dans une cellule.

Je vous joins un fichier exemple test :

1. trouver le nom d'équipe de la colonne B avec ceux de la colonne E
2. Si correspondance trouvée, afficher le résultat en colonne C dans la case correspondante au nom d'équipe trouvé en colonne E.
3. si pas de correspondance ne rien faire

J'espère être assez clair et je croise les doigts pour qu'une solution puisse être trouvée sans VBA svp.

Merci pour votre aide
Stf
 

Pièces jointes

  • Test.xlsx
    134.4 KB · Affichages: 6

Cousinhub

XLDnaute Barbatruc
Inactif
Bonjour,
En utilisant Power Query (donc sans VBA), et en fusionnant avec des taux de correspondance (ici, j'ai extrait 2 tableaux, 1 avec un taux à 0.5, et l'autre avec un taux à 0.4)
On peut remarquer qu'il y a plus d'erreur lorsqu'on baisse le taux...
Regarde le résultat, je ne sais pas si toutes les valeurs sont retournées, mais ça donne une idée...
 

Pièces jointes

  • PQ_Corresponce.xlsx
    152.3 KB · Affichages: 7

job75

XLDnaute Barbatruc
Bonjour à tous,

En VBA une solution est de compter le nombre de fois où un mot en colonne B apparaît en colonne D :
VB:
Sub Mot_Trouvé()
Dim P As Range, c As Range, s, col%, i%, n&
Set P = [D3:D194]'plage à adapter
Application.ScreenUpdating = False
For Each c In [B3:B474] 'plage à adapter
    s = Split(Application.Trim(Replace(c, "-", " ")))
    col = 4
    For i = 0 To UBound(s)
        If Len(s(i)) >= 3 Then '3 longueur minimum
            n = Application.CountIf(P, "*" & s(i) & "*")
            If n Then
                col = col + 1
                c(1, col) = s(i) & " " & n & " fois"
            End If
        End If
Next i, c
End Sub
 

Pièces jointes

  • Test(1).xlsm
    80.1 KB · Affichages: 9

sgomez7

XLDnaute Nouveau

Bonjour, cette solution me convient parfaitement, par contre comment est-ce que l'on fait pour la mettre en place en partant de 0 (je suis novice au niveau de Power Query et j'aimerais bien que l'on m'explique les différentes étapes pour comprendre. et est-il possible de savoir comment le % de correspondance est indiqué, car e regardant le fichier, je n'ai pas trouvé.

merci beaucoup
Stef

PS pour le VBA, je regarderais plus tard car pour le moment le fichier que j'ai, ne doit pas être autrement qu'en ".xlsx"

Stef
 

Cousinhub

XLDnaute Barbatruc
Inactif
Bonjour,
Expliquer PQ en une journée serait prétentieux...
Pour visualiser les différentes étapes, dans le fichier, tu tapes sur Alt + F12 (l'éditeur Power Query va s'ouvrir)
Sur la gauche, les requêtes (Tableau1 et 2, qui proviennent des 2 Tableaux structurés de l'onglet)
Et Fusion_0_4 et 0_5, qui calcule donc la similitude entre les 2 TS.
Pour voir le seuil appliqué (nommé Threshold dans le code), tu cliques sur la première étape à droite, nommée Source :

Ici, c'est le seuil à 0.5, à droite de la barre de formules (si cette barre n'apparaît pas, cliquer sur "Affichage", et sélectionner "Barre de formules")
Il existe plein de tutos et d'exemples sur le net, pour commencer à appréhender cet outil
Bonne découverte
 

sgomez7

XLDnaute Nouveau
Merci d'avoir pris du temps, je vais faire ça
Stef
 

Discussions similaires

Réponses
6
Affichages
851
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…