Extraire des valeurs d'un classeur et insérer dans un tableau-VBA

Bonjour à tous,

Je lance un autre sujet sur le vba,

Il se trouve que j'ai un classeur avec un tableau excel en feuille 1(Liste BP), un modèle BP en feuille 2(Modèle) et à la suite, des feuilles avec des valeurs(BP ...).

Je voudrais récupérer les valeurs "K42"de chaque feuille BP.... pour les mettre dans mon tableau en face de sa valeurs BP... en col "I" (Liste BP[Prix BP])

Pourriez vous me trouver un code pour faire ce genre de manip avec un bouton su chaque feuilles du classeur sachant que j'en ai 250...

Merci pour votre aide!

Salut Willkaa,

Je n'ai pas encore regardé le fichier mais voici quand même un petit essai en considérant que tes lignes du tableau sont dans le même ordre que toutes tes feuilles BP :

Sub RecapBP()

Dim ws as worksheet
Dim BP()
Dim n%

for each ws in worksheets
    if ws.name like "*BP*" then
        redim preserve BP(n)
        BP(n) = ws.range("K42")
        n = n + 1
    end if
next ws

Range("Liste BP[Prix BP]").resize(n, 1) = application.transpose(BP)

End sub

A bientôt,

Salut 3GB,

Merci de ton retour,

Alors j'ai transposé le code cependant idem mon tableau n'a pas de nom.. et pour le coup on en reviens a mon problème de tableau( qui refuse d'être déplacé et qui ne veux pas fusionner les cellules.. ) si je mets sous forme de tableau. Je dois pas savoir faire un tableau

image

Voici ton fichier test en retour.

Ca ne pouvait marcher pour plusieurs raisons : déjà, le code nécessitait un tableau structuré (Insertion/tableau/avec des entetes ou accueil/mettre sous forme de tableau/avec des entetes) renommé ListeBP (sans espace)...

Il aurait aussi fallu que les lignes correspondent strictement à l'ordre des feuilles donc j'ai modifié le code et ai laissé un test sur l'existence des feuilles.

Si tu as des questions, n'hésite pas.

Au fait, j'ai repensé à ton blocage lors de la copie d'une feuille. Tu n'aurais pas essayé de copier une feuille xlsx vers xlsm ou inversement par hasard ? Car le nombre de lignes suivant l'extension peut changer et bloquer... C'est une idée qui m'est venue mais il est possible que ce soit autre chose.

A plus,

Salut 3GB,

Après plusieurs tentative j'ai réussi à refaire le tableau et copier les codes pour que la macro fonctionne dans mon tableau d'origine!

Merci bien!

Donc en gros je vois que je n'ai pas l'habitude de créer des tableau avec une bonne mise en forme comme tu le dis donc je vois que si je fais pas cela ça ne fonctionne pas super bien.. je vais essayer de prendre cette habitude!

D'autre part je pense que oui c'est bien ça le problème de déplacement ou de copie, Il faut que j'enregistre mon dossier en prenant en charge des macro !

(Désolé ce n'est pas encore rentré dans les mœurs.. )

Bien vu l'artiste!

Salut Willkaa,

Tant mieux si tu as réussi à recréer le tableau, bravo ! Il y a un onglet création en principe qui apparait lorsque qu'on sélectionne le tableau. Tu peux décider à tout moment de le renommer (mais là ça rendrait la macro inopérante), changer la mise en forme du tableau, enlever le filtre, mettre une ligne de totaux...

La particularité du tableau, c'est qu'il dispose de petites fonctionnalités utiles, qu'il est une plage nommée améliorée et qu'il constitue un objet à part entière (ListObject), ce qui peut faciliter certains codes. La mise en forme, c'est vraiment un plus...

Tout ne peut pas être intégré d'un coup mais ça va venir petit à petit, j'en suis sûr !

Re 3GB,

En effet oui, j'avais réussi à le faire une fois et j'ai retrouvé la procédure, donc tout va bien!

Et j'arrive a faire le chemin inverse ( Tableau ->mettre en plage -> Tableau) suffit de trouver les onglet !

Rechercher des sujets similaires à "extraire valeurs classeur inserer tableau vba"