Recherche de nombre qui n'apparaissent pas

Résolu
Arnaud3140 -  
ccm81 Messages postés 11033 Statut Membre -
Bonjour,

Je cherche à faire afficher les nombres qui ne s'affichent pas ( dans les cellules C1 à C3) dans une cellule C4. En sachant que la plage des nombres vont de 1 à 8.

Exemple :
C1 : " 8;2;3 "
C2 : " 2;5;4 "
C3 : " 2;3 "

En cellule C4 nous auront :

C4 : " 6;7;1 "

4 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    Une solution avec macro
    http://www.cjoint.com/c/GFcpffa6xrH

    Cdlmnt
    0
    1. Arnaud3140
       
      Merci pour cette réponse,

      J'ai un peu de mal avec les macros il faut que je prenne ça en main ! Je vais essayer de modifier le code !
      0
    2. Arnaud3140
       
      J'ai réussi à modifier le code et lorsque je rentre le chiffre 11 par exemple cela ne m'indique pas que le 1 est absent par exemple..
      0
  2. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour Arnaud, coucou ccm81 ;-)

    Et une solution par formule :
    =SI(NB.SI(C3:C5;"*1*")=0;"1;";"")&SI(NB.SI(C3:C5;"*2*")=0;"2;";"")&SI(NB.SI(C3:C5;"*3*")=0;"3;";"")&SI(NB.SI(C3:C5;"*4*")=0;"4;";"")&SI(NB.SI(C3:C5;"*5*")=0;"5;";"")&SI(NB.SI(C3:C5;"*6*")=0;"6;";"")&SI(NB.SI(C3:C5;"*7*")=0;"7;";"")&SI(NB.SI(C3:C5;"*8*")=0;"8;";"")

    Cdlmnt
    Via
    0
    1. Arnaud3140
       
      Merci pour ta réponse mais lorsqu' je vais jusqu'à 16 nombres avec cette formule
      =SI(NB.SI(B7:P7;"*1*")=0;"1;";"")&SI(NB.SI(B7:P7;"*2*")=0;"2;";"")&SI(NB.SI(B7:P7;"*3*")=0;"3;";"")&SI(NB.SI(B7:P7;"*4*")=0;"4;";"")&SI(NB.SI(B7:P7;"*5*")=0;"5;";"")&SI(NB.SI(B7:P7;"*6*")=0;"6;";"")&SI(NB.SI(B7:P7;"*7*")=0;"7;";"")&SI(NB.SI(B7:P7;"*8*")=0;"8;";"")&SI(NB.SI(B7:P7;"*9*")=0;"9;";"")&SI(NB.SI(B7:P7;"*10*")=0;"10;";"")&SI(NB.SI(B7:P7;"*11*")=0;"11;";"")&SI(NB.SI(B7:P7;"*12*")=0;"12;";"")&SI(NB.SI(B7:P7;"*13*")=0;"13;";"")&SI(NB.SI(B7:P7;"*14*")=0;"14;";"")&SI(NB.SI(B7:P7;"*15*")=0;"15;";"")&SI(NB.SI(B7:P7;"*16*")=0;"16;";"")

      Il me compte un 4 dans le nombre 14 même si le nombre 4 n'apparait pas seul...
      0
      1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759 > Arnaud3140
         
        Bonsoir

        C'est normal puisqu'il trouve un 4 dans 14
        Dans ta demande initiale tu parlais de nombre de 1 à 8 donc le problème ne se posait pas
        Avec plus de nombres il vaut mieux utiliser la fonction personnalisée clé en main d'eriic( que je salue au passage) apr exemple
        0
  3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour à tous,

    proposition avec une fonction personnalisée à mettre dans un module standard :
    Function manquants(plage As Range, borneMax As Long) As String
        Dim c As Range, i As Long, result() As Long, tmp
        ReDim result(1 To borneMax)
        For Each c In plage
            tmp = Split(c, ";")
            For i = 0 To UBound(tmp)
                result(CLng(tmp(i))) = 1
            Next i
        Next c
        For i = 1 To borneMax
            If result(i) = 0 Then manquants = manquants & ";" & i
        Next i
        manquants = Mid(manquants, 2)
    End Function

    Syntaxe :
    =manquants(plage, borneMax)
    borneMax : nombre maxi à considérer comme manquant.
    Ex : =manquants(A2:A4;15)
    => 1;6;7;9;10;11;13;14;15
    https://www.cjoint.com/c/GFcqZkqs7zi
    eric
    En essayant continuellement, on finit par réussir. 
    Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
    En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
    0
    1. Arnaud3140
       
      En effet c'est top ! Merci beaucoup ;)
      0
  4. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Une version un peu différente de celle d'eric (salut à toi), qui fonctionne avec une liste de référence "à trous"
    https://mon-partage.fr/f/hMikxK1P/

    Cdlmnt
    0