Comparer les differences

Bonjour, je cherche à comparer des cellules contenant des chaînes d'arguments séparés par des points virgules du type FA01; FA02; FA04 avec une matrice qui contient dans une seule cellule une autre chaine: FA01;FA02;FA03;FA04. J'aimerai trouver un formule qui me permettrait de détecter le ou les arguments manquants.

Merci de votre aide

Bonjour,

Merci de joindre un fichier.

Bonjour,

Attention à tes espaces qui se baladent d'un coté et pas de l'autre. Pas d'espaces ou bien tout le temps.

eric

33classeur3.xlsm (19.15 Ko)

Bonjour,

Régler cette question par formule n'est pas impossible mais une formule matricielle sur du texte est rarement aisée à construire, et en la matière la solution la plus souple réside généralement dans une fonction personnalisée, qui permet de traiter par formule mais en usant d'une formule simple...

Function COMPARCHMANQUE_MOD(ch As String, chref As String) As String
    Dim tch, i%
    Application.Volatile
    chref = Replace(chref, " ", "")
    tch = Split(Replace(ch, " ", ""), ";")
    For i = 0 To UBound(tch)
        If tch(i) <> "" Then chref = Replace(chref, tch(i), "")
    Next i
    chref = Replace(chref, ";;", ";")
    If chref Like ";*" Then chref = Right(chref, Len(chref) - 1)
    If chref Like "*;" Then chref = Left(chref, Len(chref) - 1)
    COMPARCHMANQUE_MOD = chref
End Function

La fonction est à placer dans un module standard. Elle s'utilise sur la feuille comme les autres fonction d'Excel (elle apparaîtra dans la liste des fonctions). Après avoir tapé = suivi du nom de la fonction, 2 arguments entre parenthèse : la référence de la chaîne à tester, et la référence du modèle. La fonction renverra les éléments figurant dans le modèle mais manquant dans la chaîne.

NB-par sécurité, elle élimine les espaces intempestifs éventuels...

Si des éléments figurent dans la chaîne mais pas dans le modèle, ils seront ignorés. Mais on peut bâtir si besoin la fonction "symétrique" renvoyant les éléments de la chaîne ne figurant pas dans le modèle...

Cordialement.

Merci beaucoup de votre aide et pour ces explications precises. Je ne suis pas très à l'aise avec les macro xls, je vais faire le test lundi en revenant au bureau, et je vous ferais un retour sur le forum. Bon week end.

Bonjour,

Généralement, les utilisateurs d'Excel très réticents à utiliser des macros, préjugeant qu'ils ne pourront maîtriser ces dispositifs sans être contraints à demander de l'aide en permanence, s'acclimatent plutôt rapidement à l'utilisation de fonctions personnalisées après un premier essai.

Car s'il s'agit de macros, une fois qu'elle est en place (et la mise en place se limite à copier le texte de la fonction pour le coller dans un module), son usage n'est en rien différent de toute autre fonction, domaine familier...

Cordialement.

Rechercher des sujets similaires à "comparer differences"