Microsoft 365 Harmoniser la dénomination d'une cellule Recherche V d'un texte précis

mcfv

XLDnaute Junior
Supporter XLD
Bonjour à tous,

Je dois harmoniser une liste de nom d'entreprise (expéditrice et destinatrice)
souvent, les données sont renseignés de manière différente suivant les partenaires qui envois le fichier source.

j'ai un onglet DATA avec le nom des entreprises telles que j'aimerai avoir sur les futurs TCD

j'aimerai harmoniser la liste des noms d'entreprise du reporting en fonction de l'onglet Data (l'onglet data va évoluer avec l'ajout au fur et a mesure d'entreprise).
avez vous une idée de la formule la mieux adaptée?,
j'ai testé celle-ci mais elle ne marche pas à tout les coups [ =recherchev("*"&cellule&"*";Tab de matrice; colonne; faux) ]

merci pour votre aide
 

Pièces jointes

  • Harmoniser une liste de nom.xlsx
    11.2 KB · Affichages: 3
Solution
Merci à vous trois pour vos retours qui sont toujours constructif, car au delà de demander de l'aide aux pros comme vous,
je veux surtout comprendre ce que je fais, et ne pas demander que l'on fasse pour moi :)
merci mérinos pour tes explications
Sylvanu je garde dans un coin la VBA mais j'ai peur de ne pas savoir l'appliquer sur d'autre travail.
Phil69970 c'est une réflexion que je vais mettre en œuvre dans les prochain mois, ici il s'agit de dégrossir une base de 2022 et pour lequel je dois analyser des données
je doit avancer rapidement.

merci infiniment à vous trois
a bientôt
belle journée.

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Mcfv,
C'est un sujet extrêmement complexe que vous abordez.
Dans votre fichier on peut trouver une ressemblance sur la partie droite, gauche, au milieu ....
Pour lancer un essai qui sera surement affiné par d'autres , cette fonction perso en VBA :
VB:
Function TrouverRessemblance(MotAChercher$)
    Dim PlageDeRecherche As Range, Cellule As Range
    TrouverRessemblance = ""
    Set PlageDeRecherche = Sheets("DATA Fournisseur").Range("A1:A1000")
        For Each Cellule In PlageDeRecherche
            If InStr(1, Cellule.Value, MotAChercher, vbTextCompare) > 0 Then
                TrouverRessemblance = Cellule: Exit Function
            End If
            For N = Len(MotAChercher) To 4 Step -1
                MotAChercher2 = Right(MotAChercher, N)
                If InStr(1, Cellule.Value, MotAChercher2, vbTextCompare) > 0 Then TrouverRessemblance = Cellule: Exit Function
                MotAChercher2 = Left(MotAChercher, N)
                If InStr(1, Cellule.Value, MotAChercher2, vbTextCompare) > 0 Then TrouverRessemblance = Cellule: Exit Function
            Next N
            If TrouverRessemblance = "" Then TrouverRessemblance = MotAChercher & "(Non modifié)"
    Next Cellule
End Function
Quand aucune vraisemblance n'est trouvée je recopie la chaine recherchée suivie de "(Non modifié)".
Mais le taux d'erreur restera élevé, il faut vérifier les résultats ligne par ligne.
 

Pièces jointes

  • Harmoniser une liste de nom.xlsm
    19 KB · Affichages: 0

merinos

XLDnaute Accro
Bonjour @mcfv ,


Si je peux donner quelques conseils:

- Tout ce qui resemble a une table devrait être déffini comme TABLE. on les reconnait aux lignes de couleurs.
Cela permet de ne mettre qu'une seule fois une formule ... et qu'elle se copie sur toutes les lignes.

- RechercheV ... c'est pas le plus facile: il existe RechercheX... qui permet de donner les noms des colonnes d'une TABLE...

- Tu peux définir des fonctions LAMBDA en Excel qui acceptent un (plusieurs) parametres...


donc j'ai changé ton fichier:

-Formaté tes TABLES
- ajouté une table d'écritures normalisées
- ajouté des formules RechercheX dans ta table

de plus:

- J'ai dédoublé ta table de recherche avec des fonction LAMBDA (Correct, Existe et Regime) qui nécésitent un paramettre...
-J'ai mis un formatage conditionnel qui signale qu'une écritures est encore inconnue... et doit donc être ajoutée a la tables des écritures.

RechercheX supporte des parametres supplémentaire dont la recherche avec * ...
En cherchant dans la colonne UPPER, on trouve que Merinos= MeRiNoS = MERINOS ce qui limite le nombre d'écritures nécésaires.




A+

Merinos
 

Pièces jointes

  • Harmoniser une liste de nom.xlsx
    22.8 KB · Affichages: 3

Phil69970

XLDnaute Barbatruc
Bonjour à tous

@mcfv
Perso tu prends le problème à l'envers sur un cas similaire j'avais à l'époque envoyé aux différents prestataires un courrier avec AR en expliquant qu'à partir du par exemple 01/01/2024 que les noms doivent être normés comme ceci avec la liste des noms autorisés en PJ et que tout manquement le fichier serait rejeté sans traitement et à charge pour eux de le renvoyer.
==> Résultats : 90 à 95 % de données correctes dés le 1er jour et après quelques retours 98% de résultats corrects à partir de la 2eme semaine et quasi 100% de retour positif après 1 mois
 

mcfv

XLDnaute Junior
Supporter XLD
Merci à vous trois pour vos retours qui sont toujours constructif, car au delà de demander de l'aide aux pros comme vous,
je veux surtout comprendre ce que je fais, et ne pas demander que l'on fasse pour moi :)
merci mérinos pour tes explications
Sylvanu je garde dans un coin la VBA mais j'ai peur de ne pas savoir l'appliquer sur d'autre travail.
Phil69970 c'est une réflexion que je vais mettre en œuvre dans les prochain mois, ici il s'agit de dégrossir une base de 2022 et pour lequel je dois analyser des données
je doit avancer rapidement.

merci infiniment à vous trois
a bientôt
belle journée.