Extraire une liste selon un tableau de critère

Bonjour,

je cherche a extraire une liste de nom depuis une grille de compétences. Ceci afin de pouvoir faire une liste déroulante ailleurs.

J'ai déjà trouvé des bribes de réponses mais je butte toujours sur un petit détail.

les fonctions "index" "equiv" créé des liste avec des trous

je ne suis pas arrivé a integrer la fonction "decaler" pour enlever les trous

Je peux lire et comprendre le VBA mais je ne maitrise pas les syntaxe pour et doit copier coller des blocs de texte.

Je n'ai pas trouvé de macro qui fait exactement ça

merci de votre aide

EDIT : je viens de voir qu'il y a une erreur dans mon tableau, la dernière liste devrait sortir "A D F"

bonjour

malgré la capture d'ecran formellement non recommandée car revelatrice de " a la recherche du tout cuit " ce qui implique

" debrouillez vous pour moi ;en vous paluchant de quoi tester .....

mais; bon je m'y colle pasque j'aime ça et que c'est dans mes cordes

donc un essai

78skybloo.zip (3.36 Ko)

avec des explications

Bonjour @ tous,

Salut tulipe_4,

Excel >= 2007,

en G9,

=SIERREUR(INDEX(COLA;PETITE.VALEUR(SI(SOUS.TOTAL(2;DECALER(B$2:D$2;LIGNE(COLA)-2;));LIGNE(COLA)-2);LIGNES($9:9)));"")

@ valider par Ctrl+Maj+Entree

@ tirer vers le bas

@ + +

merci déjà pour les réponses, je vais y travailler.

j'ai joint une capture d'écran car je me suis déjà incendier ailleurs sous le prétexte qu'un fichier xls pourrait contenir un virus...

chacun ses trucs...

je vous tiens au courant pour vous dire si ce fil est résolu...

Salutations

Voila,

avec l'aide d'un collègue, on a créé cette macro assignée à un bouton pour générer ces listes,

Je vous mets le code pour ceux que ça intéresse :

Sub Bouton1_Cliquer()

    Dim col As Integer
    Dim lig As Integer
    Dim lig_res As Integer

Application.ScreenUpdating = False

 For col = 5 To 1000
    lig_res = 3
    For lig = 3 To 1000
        Sheets("competences").Select
        If Cells(lig, col).Value > 1 Then
            Sheets("Liste_empl").Select
            Cells(lig_res, col).Value = Sheets("competences").Cells(lig, 3).Value
            lig_res = lig_res + 1
        End If
        Sheets("competences").Select
        If IsEmpty(Cells(lig, 3).Value) Then
            Exit For
        End If

    Next lig
 Next col

Application.ScreenUpdating = True

End Sub

salutations

Rechercher des sujets similaires à "extraire liste tableau critere"