Extraire plusieurs entêtes de colonnes

Résolu
Bonjour,

J'ai actuellement un tableau assez important reprenant des entreprises à visiter.
colonne A = les entreprises (530 lignes actuellement)
colonne B = l'année du prochain contrôle
colonne C à AX (pour l'instant) = le type de contrôle à effectuer.

Un type de contrôle particulier par colonne. Plusieurs contrôles à effectuer par entreprise par année mais pas tous!

ex:
entreprise / année du prochain contrôle / testA / testB / testC / testD
Tartempion / 2013 / 2014 / 2013 / - / 2013

en fait la colonne B reprend juste une formule qui affiche la plus petite année introduite dans les colonnes C à AX.

J'aimerais ajouter une colonne avec une formule qui m'indiquerait pour chaque ligne les types de contrôles à effectuer pendant 'l'année du prochain contrôle' (valeur de la colonne B).

En français cela donnerait quelque chose comme :
trouve dans les colonnes C à AX toutes les valeurs identique à 'année du prochain contrôle' et affiche moi les entêtes de leur colonne respectives séparées par ' - '

Cela me permettrait en un coup d'oeil de savoir quels seront les prochains contrôles sans devoir faire toute la ligne et reprendre les entêtes des colonnes une à une.

ex après insertion:
entreprise / année du prochain contrôle / prochain contrôle / testA / testB / testC / testD
Tartempion / 2013 / testB - TestD / 2014 / 2013 / - / 2013

Merci!

3 réponses

  1. Bonjour

    Combien de contrôle annuel avez-vous à effectuer ?

    Voici une formule pour 4 à 5 contrôles

    =SI($C6=$B6;$C$5;" - ")&SI($D6=$B6;$D$5;" - ")&SI($E6=$B6;$E$5;" - ")

    C6 = année 1er contrôle comparer à B6 et renvoie C5 l'en tête de la première colonne
    D6 = année 2ème contrôle comparer à B6 et renvoie D5 en tête de colonne de la 2éme colonne
    E6 = année 3ème contrôle comparer à B6 et renvoie E5 en tête de colonne de la 3ème colonne
    et ainsi de suite jusqu'à 7 conditions Si
    1
    1. Je devrais avoir une 50ène de contrôles différents au final. Ca pose un problème au-delà de 7 conditions?
      0
    2. 50 Contrôles chez un même client, cela ne va pas aller, il faut une autre solution
      0
  2. Modérateur
    Bonjour tout le monde, Mike,

    Une solution par fonction personnalisée VBA made by Mr Boisgontier :ICI
    Depuis la feuille de calcul tapez ALT+F11, puis Insertion/Module, copiez collez le code ci dessous et refermez la fenêtre Visual Basic Editor.
    Le code :
    Function RechTous(v, champRech As Range, ChampRetour As Range, separateur)
      a = champRech
      temp = ""
      For i = 1 To champRech.Count
        If a(i, 1) = v Then
            temp = temp & ChampRetour(i) & separateur
        End If
      Next i
      RechTous = Left(temp, Len(temp) - 1)
    End Function 

    Pour l'application, dans la cellule C2 (par exemple) inscrire la formule :
    =RechTous(B2;D2:AY2;$D$1:$AY$1;" - ")
    1
    1. Ca marche du tonnerre!
      Une seule adaptation, la formule étant encodée pour de la recherche en colonne et pas en ligne. J'ai donc remplacé :
      If a(i,1) par If a(1,i)

      Merci en tout cas!
      0
  3. Salut,

    Le nombre de conditionnelle n'a jamais été un problème sur Excel
    voir ici l'astuce que j'ai déposé
    mais il existe d'autres possibilités pour contourner le nombre d'imbrication pas toujours facile à gérer.
    le mieux serait de déposer un exemple de fichier sur lequel nous pourrions travailler dessus
    à joindre avec ce lien

    https://www.cjoint.com/
    0