Macro extraction

Bonjour,

Je cherche une macro pour extraire des lignes suivant le contenu de la colonne A dans l’onglet « Base de données »

Si par exemple, dans ma colonne A, j’ai « TL », je veux que la ligne soit extraite dans l’onglet TL.

J’ai trouvé ce code https://forum.excel-pratique.com/excel/macro-d-extraction-de-ligne-suivant-valeur-d-une-cellule-t24294.html mais je n’arrive pas l’adapter à mon fichier.

Pouvez-vous m’aider s’il vous plait

Merci d’avance

Brice

14classeur1.xlsm (29.01 Ko)

Bonjour et bienvenue sur le forum

Voilà je pense une meilleure adaptation de la macro de Dubois :

42classeur1-v1.xlsm (33.09 Ko)

Bonjour gmb et merci de ta réponse,

Peux-tu m'expliquer à quoi correspondent les t et les u dans la macro pour que je comprenne ?

For Each Cel In Range("CENTRES")                 'voir feuille "Listes" nom défini
            .Range("t1") = Cel                      'onglet
            .Range("u2") = "=a2=$t$1"               'critère
            .Range("a1:r" & Lg).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
            .Range("u1:u2"), CopyToRange:=Sheets(Cel.Value).Range("a1:r1"), Unique:=False
        Next Cel
            .Range("t1:u2").ClearContents

Une dernière question, je suis en train de mettre la macro dans mon fichier et hier j'ai oublié de dire que l'onglet "Base de données" se trouve sur un autre fichier.

Est ce que c'est possible de remplacer

With Sheets("Base de données")

par un lien hypertexte directement dans la macro, ou de mettre, par exemple, le lien dans l’onglet « listes » en cellule B1 et d'écrire dans la macro qu’il faut ouvrir le lien contenu en B1 ?

Merci beaucoup

Bonjour

Tu écris :

Peux-tu m'expliquer à quoi correspondent les t et les u dans la macro pour que je comprenne ?

Il s’agit de 2 cellules qui servent à définir les critères du filtre élaboré que la macro élabore. Tu peux choisir ces cellules où tu veux mais hors de ton tableau de données !

j'ai oublié de dire que l'onglet "Base de données" se trouve sur un autre fichier.

Est ce que c'est possible de remplacer

Alors remplace :

With Sheets workbooks(Classeur("Base de données")

par :

With Workbooks("Classeur X").Sheets("Base de données")

OK ?

Bye !

J'ai fais le remplacement dans le fichier

With Workbooks("C :\Documents\Contrôles\2014\ClasseurX.xlsm").Sheets("Base de données")

mais ça ne marche pas "erreur d'exécution "9". L'indice n'appartient pas à la sélection"

Cela fonctionne si mes 2 classeurs sont ouverts avec ce que tu m'as écrit

With Workbooks("ClasseurX").Sheets("Base de données")

Merci à toi

Bonjour

Rassure -moi : tu as bien remplacé "Fichier X" par le nom du fichier sur lequel se trouve la feuille "Base de données" ?

Si non, fais le !

Si oui, envoie-moi tes deux fichiers...

Bye !

Bonjour,

Voilà les 2 fichiers et le chemin où ils se trouvent : C:\Users\Brice\Documents\Contrôles\2014.

et voilà ce que j'ai mis dans le fichier:

 With Workbooks("C:\Users\Brice\Documents\Contrôles\2014\Base de données.xlsx").Sheets("Base de données")

Merci

12extractions.xlsm (24.45 Ko)

Bonjour

Ci-joint deux essais.

Avec le fichier « Extractions V1 », pour obtenir le résultat, il faut que le fichier « Base de données » soit ouvert.

Avec le fichier « Extractions V2 », il n’est pas nécessaire que le fichier « Base de données » soit ouvert mais il doit être enregistré dans le même dossier que le fichier « Extractions V2 »

OK ?

Bye !

21extractions-v2.xlsm (27.65 Ko)
10extractions-v1.xlsm (25.67 Ko)

Merci beaucoup Gmb, c'est parfait !

Bonne journée

Rechercher des sujets similaires à "macro extraction"