Comment calculer légalité d'un chiffre ou an texte

lhoussine2010 Messages postés 3 Statut Membre -  
PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai fais un tableau sur excel, et je voudrais savoir comment calculer légalité d'un chiffre ou an texte
par exemple :

12345
12346
72346

donc 12345/12346 sont la même a 4 chiffre(1,2,3,4)
et 12346/72346 sont la même a 4 chiffre(2,3,4,6)
merci

6 réponses

  1. via55 Messages postés 14396 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour

    Si j'ai bien compris ce que tu recherches, possibilité avec une fonction personnalisée :

    ALT + F11 pour ouvrir l'éditeur VBA

    Onglet Insertion Module puis copier et coller la macro suivante:

    Function egalite(a As String, b As String)
    egal = 0
    l1 = Len(a)
    l2 = Len(b)
    If l1 < l2 Then lg = l1 Else lg = l2

    For n = 1 To lg
    If Mid(a, n, 1) = Mid(b, n, 1) Then egal = egal + 1
    Next

    egalite = egal

    End Function

    Fermer l'éditeur

    La fonction s'utilise après dans les feuilles comme toute les autres fonctions , ainsi la formule =egalite(A1;A2) donnera le nombre de caratères identiques et situés à la même place dans les chaines en A1 et A2

    Cdlmnt
    1
  2. HiTech4ever Messages postés 103 Date d'inscription   Statut Membre Dernière intervention   20
     
    Ce que tu veux faire n'est pas claire ! ! !

    il y a déjà la fonction :
    =NBCAR() : renvoie le nombre de caractères contenus dans une chaîne de texte.

    0
  3. Iama Messages postés 324 Statut Membre 14
     
    bonjour lhoussine2010

    Personnellement, je ne vois pas de solutions simples.

    J'en vois une:

    1 Compter le nombre de caractères dans tes chaîne, si ce nombre varie.
    2 Il faut extraire les caractères de tes chaînes. (STXT)
    3 Les trier ces caractères par ordre croissant.
    4 Les concaténer (Les 4 premières d'après ton exemple)
    5 Les trier par ordre croisant et les comparer sans oublier d'y joindre les références de départ.

    Maintenant si c'est répétitif, ou que le volume à traiter en important passer à une macro

    Cordialement
    0
  4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,

    que fait on si par exemple

    123456/123496 ?
    ou
    098765/508973 ?
    Ou
    27456989/122988 ?

    et avec + de 6 caractères : toujours égalité si 4 ?

    Michel
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lhoussine2010 Messages postés 3 Statut Membre
     
    pour 123456/123496 ? le résulta recherche égale a 5
    ou
    pour 098765/508973 ? le résulta recherche égale a 1
    Ou
    pour 27456989/122988 ? le résulta recherche égale a 2

    ces le calcule des égalité des chiffres avec le classement.
    0
    1. Iama Messages postés 324 Statut Membre 14
       
      Bonjour

      Je ne comprend pas bien ta réponse à michel
      098765/508973 => 3 ?
      0
    2. lhoussine2010 Messages postés 3 Statut Membre
       
      on légalité on 3éme chiffre (8) donc résultat égale a 1
      0
  7. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
     
    Bonjour

    Avec une formule pour 6 chiffres dans les nombres à comparer

    =SI(STXT($A$1;1;1)=STXT($B$1;1;1);1;0)+SI(STXT($A$1;2;1)=STXT($B$1;2;1);1;0)+SI(STXT($A$1;3;1)=STXT($B$1;3;1);1;0)+SI(STXT($A$1;4;1)=STXT($B$1;4;1);1;0)+SI(STXT($A$1;5;1)=STXT($B$1;5;1);1;0)+SI(STXT($A$1;6;1)=STXT($B$1;6;1);1;0)
    0