Extraction données d'un tableau

Bonjour à tous,

Je reviens vers vous toujours pour un problème de création de macro excel.

Cette fois, je souhaiterais extraire des données d'un tableau et en créer un autre avec ces données extraites.

Je voudrais pouvoir taper dans une cellule un nom (de gène) (exemple "cad") et qu'une recherche automatique se fasse dans la colonne C de mon tableau.

Et quand le programme trouve tous les gènes dont le nom commence par "cad", il le met dans un autre tableau (imprimable) avec à côté toutes les infos correspondantes comme la boîte ou c'est rangé, la colonne et la ligne et le code barre.

Je n'ai pas trouvé comment faire.

Je réussis juste quand je tape le nom d'un gène complet "cadJ" (par exemple) en utilisant rechercheV mais pour avoir un listing je ne sais pas comment faire. Mais je peux avoir plusieurs gènes commençant par les mêmes 3 lettres (cad, yec, rel, .....) et j'ai 5000 noms en tout dans mon tableau.

Quelqu'un peut-il m'aider ?

Pour faciliter la compréhension, j'ai mis un fichier attaché.

J'espère que ça peut aider.

Merci d'avance pour votre aide !

Bonjour,

Voici une solution avec macro

cordialement

2'049extraction-donnees.xlsm (19.46 Ko)

Bonjour,

utilises un filtre élaboré (menu Données/Avancé)

Ci-joint une automatisation du filtre sur tes données.

Sincères saluations

1'176extraction-genes.xlsm (18.39 Ko)
ramoutch a écrit :

Bonjour,

Voici une solution avec macro

cordialement

Bonjour Ramoutch,

Merci beaucoup pour ton aide.

Ta macro marche pas mal.

Mais, après l'avoir transférée dans mon fichier d'origine, je ne peux plus la faire fonctionner directement avec le bouton "Rechercher" que tu avais créé.

J'ai fait plusieurs essais sans succès. Je suis obligée de passer par Macro, Exécuter.

ça marche mais c'est vrai que c'était plus rapide avec le bouton "Rechercher" juste à côté.

La seule chose que j'ai changé dans la macro c'est les J4 que j'ai transformé en J5 et le J13 que j'ai changé en J8.

Peux-tu m'expliquer comment recréer ce bouton ?

Merci beaucoup.

MaTi


ouisansdoute a écrit :

Bonjour,

utilises un filtre élaboré (menu Données/Avancé)

Ci-joint une automatisation du filtre sur tes données.

Sincères saluations

Bonjour Ouisansdoute,

Merci beaucoup pour ton aide,

J'ai testé ta solution mais je n'arrive pas à la faire tourner quand je la transferts dans mon fichier d'origine.

En cours de route j'ai perdu le bouton "Extraire" et je n'arrive pas à le recréer.

Peux-tu m'expliquer comment faire ?

Merci beaucoup.

MaTi-34 a écrit :
ramoutch a écrit :

Bonjour,

Voici une solution avec macro

cordialement

Bonjour Ramoutch,

Merci beaucoup pour ton aide.

Ta macro marche pas mal.

Mais, après l'avoir transférée dans mon fichier d'origine, je ne peux plus la faire fonctionner directement avec le bouton "Rechercher" que tu avais créé.

J'ai fait plusieurs essais sans succès. Je suis obligée de passer par Macro, Exécuter.

ça marche mais c'est vrai que c'était plus rapide avec le bouton "Rechercher" juste à côté.

La seule chose que j'ai changé dans la macro c'est les J4 que j'ai transformé en J5 et le J13 que j'ai changé en J8.

Peux-tu m'expliquer comment recréer ce bouton ?

Merci beaucoup.

MaTi

Re-Bonjour Ramoutch,

Je viens de trouver comment avoir le bouton actif.

J'avais simplement oublié de lui affecter la macro.

Maintenant ça marche très bien.

Merci encore

MaTi


ouisansdoute a écrit :

Bonjour,

utilises un filtre élaboré (menu Données/Avancé)

Ci-joint une automatisation du filtre sur tes données.

Sincères saluations

Bonjour Ouisansdoute,

Merci beaucoup pour ton aide,

J'ai testé ta solution mais je n'arrive pas à la faire tourner quand je la transferts dans mon fichier d'origine.

En cours de route j'ai perdu le bouton "Extraire" et je n'arrive pas à le recréer.

Peux-tu m'expliquer comment faire ?

Merci beaucoup.

bonjour

petite contribution

les 3 lettre sont dans une liste sans doublon (tu n'as qu'a choisir) ;lsolution par matricielle

447mati.zip (7.95 Ko)

toutes les plages sont nommées et dynamiques

cordialement

Bonjour,

On crée un bouton via le ruban insertion forme.

Une fois le bouton dessiné, clic droit pour associer une macro. La macro est dans le fichier d'origine,.

En fait j'ai enregistré une macro qui fait le filtre élaboré. Il faudrait que tu commence par te familiariser avec les filtres élaborés. Puis que tu essayes d'en enregistrer un.

Il est possible de faire une extraction sur un autre onglet (dès lors que la base et la zone de critère(s) ont un nom.

Ensuite il n'y a plus qu'à copier cet onglet d'extraction dans un nouveau classeur.

A toi de chercher et... tu trouveras.

Merci pour ton aide.

Cordialement

tulipe_3 a écrit :

bonjour

petite contribution

les 3 lettre sont dans une liste sans doublon (tu n'as qu'a choisir) ;lsolution par matricielle

toutes les plages sont nommées et dynamiques

cordialement

Bonjour ouisansdoute,

Ben, j'ai cherché... et j'ai pas trouvé.

J'ai recréer le bouton mais après ça ne va pas.

Dans un cas, rien ne s'affiche. Dans le 2nd cas, je vois apparaitre : erreur d'exécution '1004', nom de champ introuvable ou incorrect dans la plage d'extraction.

Et je ne trouve pas à quoi ça correspond.

Quand je vérifie par rapport à ce que tu as fait, je ne trouve pas.

Ce que j'ai modifié finalement c'est juste la plage de données je suis passée de A2 : G22 à A4 : G3913

Vraiment je bloque. Pourtant ta méthode me plait beaucoup parce que à chaque nouvelle recherche, l'ancienne s'efface automatiquement et on peut mettre plus que 3 lettres comme critères de recherche si on a besoin.

Désolée !

je suis ultra débutante.

MaTi

ouisansdoute a écrit :

Bonjour,

On crée un bouton via le ruban insertion forme.

Une fois le bouton dessiné, clic droit pour associer une macro. La macro est dans le fichier d'origine,.

En fait j'ai enregistré une macro qui fait le filtre élaboré. Il faudrait que tu commence par te familiariser avec les filtres élaborés. Puis que tu essayes d'en enregistrer un.

Il est possible de faire une extraction sur un autre onglet (dès lors que la base et la zone de critère(s) ont un nom.

Ensuite il n'y a plus qu'à copier cet onglet d'extraction dans un nouveau classeur.

A toi de chercher et... tu trouveras.

Bonjour,

Lorsque j'ai mis en œuvre ma solution sur ton fichier, il ne trouvait pas non plus les colonnes et ça m'intriguait, jusqu'à ce que je remarque que le problème venait des intitulés de colonnes. Si tu regardes de plus près tu verras que tes intitulés ne sont pas identiques dans le tableau et dans la zone d'extraction. Cela n'apparaît pas à l'affichage mais dans la zone de formule (en cliquant dans les cellules concernées).

Sur le titre Column de ton tableau de départ tu as une quote (') devant le mot Column. du coup 'Column est différent du Column de la zone d'extraction.

De mémoire, plusieurs intitulés ont se problème. Il faut juste reproduire à l'identique les intitulés pour que le filtre s'y retrouve. (copier coller-valeurs par exemple).

Merci beaucoup, j'ai fait la modification et ça marche très bien maintenant.

J'ai aussi modifié la formule dans la zone de critère : j'ai écris =J4&"*" au lieu de ="*"&J4&"*"

Comme ça j'obtiens exactement ce que je veux, les 3 premières lettres sont toujours les mêmes et après ça peut varier.

Mais collègues vont également pouvoir profiter de cette macro aussi.

ça va nous faciliter la vie.

J'espère que je vais réussir à l'adapter sur d'autres fichiers.

Encore Merci.

Cordialement

MaTi

ouisansdoute a écrit :

Bonjour,

Lorsque j'ai mis en œuvre ma solution sur ton fichier, il ne trouvait pas non plus les colonnes et ça m'intriguait, jusqu'à ce que je remarque que le problème venait des intitulés de colonnes. Si tu regardes de plus près tu verras que tes intitulés ne sont pas identiques dans le tableau et dans la zone d'extraction. Cela n'apparaît pas à l'affichage mais dans la zone de formule (en cliquant dans les cellules concernées).

Sur le titre Column de ton tableau de départ tu as une quote (') devant le mot Column. du coup 'Column est différent du Column de la zone d'extraction.

De mémoire, plusieurs intitulés ont se problème. Il faut juste reproduire à l'identique les intitulés pour que le filtre s'y retrouve. (copier coller-valeurs par exemple).

Bonjour,

Je suis en train de commencer à apprendre VBA mais ce que j'ai envie de faire me parait assez compliqué. J'ai trouvé cette discussion qui correspond quasiment à ce que je veux faire sauf que je n'arrive pas à l'appliquer à mon cas. Pourriez-vous m'aider svp ?

La principale différence est que je souhaite que le nouveau tableau soit sur une feuille différente. Je me permets de vous joindre un exemple de mon fichier. Sachant que je ne peux pas modifier les données de la feuille "Extraction" car il s'agit d'une extraction d'un ERP.

Merci beaucoup de votre aide.

18receptions.xlsm (16.88 Ko)

Bonjour,

Le VBA ne te servira qu'à automatiser le filtre avancé.

Pour que le filtre avancé fonctionne il te faut :

  • une zone de données (Extraction!A1:AN10) (de préférence nommée "Bas"e par exemple).
  • une zone de critères avec une première ligne contenant les intitulés de colonnes sur lesquelles portent les critères et la seconde les critères correspondants
  • une zone de résultat contenant les intitulés de colonnes à extraire.

Cf. exemple joint

Attention, la colonne Début/fin n'est pas dans un format exploitable facilement si on veut extraire sur une période.

Dans l'exemple je n'utilise que trois critères

Rechercher des sujets similaires à "extraction donnees tableau"