Extraction liste d'une base de donnees

Bonsoir le forum,

je viens a nouveau vers vous car j'ai du mal a trouver de l'aide, au moins pour commencer mon travail.

dans le fichier joint j'ai explique ce que je souhaite extraire à partir d'une base de données.

si la valeur est trouvé dans la feuille "CDG" alors extraire la liste des tous les numéros qui sont dans la base.."base travail"

merci en avance.

Bonsoir,

Voici une solution (dans le fichier joint), pourvu que le problème soit bien compris.

J'attire votre attention sur le fait que les encodages ne sont pas cohérents dans la feuille base travail. En effet, si vous utilisez le filtre pour identifier les lignes 4991, vous constatez dans la liste proposée par le filtre que ce nombre apparaît 2 x. En prenant la première occurrence de la liste vous obtenez 3 résultats tandis que si vous prenez la seconde, vous en obtenez 4.

Or, en principe, vous ne devriez voir apparaître qu'une seule fois le nombre 4991 et obtenir à l'aide du filtre les 7 lignes en une opération.

Le problème vient du fait que des espaces ont été saisis après les 4991 de la 2ème occurrence et pour calc "4991" et différent de "4991 ". Peut-être avez vous copié ces valeurs d'une autre liste, si vous les avez encodées à la main, soyez vigilent car ces petits détails pourraient vous causer des problèmes lors de traitement des données par fonctions ou formules.

Pour répondre à votre demande, j'ai ajouté une colonne dans la feuille base travail afin de compter les lignes portant le même code. Remarquez que seule la première référence de la plage de cellule contient des dollars, la seconde n'en contient pas et varie ainsi de ligne en ligne.

De même j'ai ajouté un numéro d'ordre devant le tableau des réponses feuille CDG et dans la première colonne j'associe le numéro recherché au numéro d'ordre afin de les distinguer les uns des autres.

La fonction index cherche dans une matrice (ici la colonne de résultat de le feuille base travail) la valeur correspondant au numéro d'ordre indiqué. le numéro d'ordre est identifié grâce à la fonction equiv qui recherche la concordance entre les numéros de code complétés du numéro d'ordre.

Remarquez qu'il s'agit de formules matricielles, elles apparaissent entre { }. Les formules matricielles s'encodent en une fois et sont validées par shift-ctrl-Enter.

Ainsi pour introduire la formule de la colonne I j'ai sélectionné les cellules I5:I17 en une fois, j'ai introduit la formule (1 seule fois) en la validant par Shift-Ctrl-Enter. Procédez de la même façon pour les colonnes suivantes.

Il est difficile d'expliquer ces formules dans cette réponse, vous devriez trouver aisément quelques explications en parcourant le Web (Excel ou Calc) car les fonctions index et equiv sont souvent associées dans les explications. Il en va de même pour la validation des formules matricielles.

Bon travail

bonjour

et merci pour la réponse (assez complexe pour vrais dire).

j'ai bien pense de faire introduire des colonnes dans ma base de données mais malheureusement elle fera l'objet de changements quasi quotidienne car c'est une extraction d'un logiciel et il y a environ 4000 lignes

je cherchais une solution lié plutôt a une rechercev mais sans qu'il y a des espacements vides ou erreurs dans liste; c'est a dire classer les résultats en haut.

Rechercher des sujets similaires à "extraction liste base donnees"