Extraire plusieurs entêtes de colonnes

Résolu
Lalmax -  
 Lalmax -
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. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
     
    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. Lalmax
       
      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. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
       
      50 Contrôles chez un même client, cela ne va pas aller, il faut une autre solution
      0
  2. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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. Lalmax
       
      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. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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