Extraire plusieurs entêtes de colonnes

Résolu/Fermé
Lalmax - 6 nov. 2012 à 16:17
 Lalmax - 18 nov. 2012 à 15:39
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!
A voir également:

3 réponses

PHILOU10120 Messages postés 6368 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 22 avril 2024 796
6 nov. 2012 à 19:38
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
Je devrais avoir une 50ène de contrôles différents au final. Ca pose un problème au-delà de 7 conditions?
0
PHILOU10120 Messages postés 6368 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 22 avril 2024 796
8 nov. 2012 à 10:52
50 Contrôles chez un même client, cela ne va pas aller, il faut une autre solution
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
8 nov. 2012 à 11:06
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
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
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
8 nov. 2012 à 10:57
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