Refaire un nouveau tableau selon un critère

sebblanc

XLDnaute Nouveau
Bonjour,

Je me permets de solliciter à nouveau l'aide du forum. Je n'ai aps trouvé de sujet similaire.

Je suis en train de m'auto former sur VBA et je galère un peu mais je progresse !

Je travaille sur la remodélisation d'un tableau automatique avec une macro.
J'ai un tableau avec pas loin de 200 lignes et bien 20 colonnes.
Mon objectif est de :
- Le simplifier pour le réduire à 8 colonnes et en ne récupérant que les lignes ou figure une (peut-être 2) données texte précise
- Changer l'ordre des colonnes

Pour le changement des colonnes, j'ai réussi à le faire avec l'enregistrement des macro mais je coince au niveau de la sélection des lignes selon mon critère.
Comme il y a beaucoup de lignes, je pense aussi qu'il faut faire soit une boucle ou alors raisonner en tableau mais je ne maitrise pas encore assez.
J'ai cherché des astuces pour utiliser FIND mais pareil, pas facile.

J'ai fait un tableau Excel de base avec l'origine et le résultat. Si vous pouviez me donner un coup de main ce serait nickel ! Ca m'aiderait aussi à mieux comprendre ce code.

Merci d'avance !

Seb
 

Pièces jointes

  • Tableau essai.xls
    19 KB · Affichages: 35
  • Tableau essai.xls
    19 KB · Affichages: 35
  • Tableau essai.xls
    19 KB · Affichages: 35

Gestionnaire_rh

XLDnaute Nouveau
Re : Refaire un nouveau tableau selon un critère

Bonsoir,

sur votre fichier, je vous propose une solution sur la feuille "essai"

Cordialement
 

Pièces jointes

  • Tableau essai.xls
    51 KB · Affichages: 41
  • Tableau essai.xls
    51 KB · Affichages: 41
  • Tableau essai.xls
    51 KB · Affichages: 46

sebblanc

XLDnaute Nouveau
Re : Refaire un nouveau tableau selon un critère

Bonjour (à nouveau !)

Je continue à travailler sur mon code, et je comprends un peu la logique en le transposant.
J'ai copié les valeurs dans une autre feuille selon mes intitulés et tout.

J'ai un problème car dans mon tableau de travail, j'ai la première colonne qui est remplie sur environ 200 lignes mais celles d'après ne sont pas nécessairement complètes.
Du coup, quand j'utilise Range(Selection, Selection.End(xlDown)).Select, il ne me recopie pas l'intégralité des colonnes.

Je me demandais si c'était possible de déterminer la longueur en ligne du tableau en se basant sur la première colonne (disons 215) et ensuite copier l'intégralité des ces colonnes selon cette valeur pour la ligne de fin (toutes les autres colonnes de 3 à 215).


Problème résolu en travaillant sur l'autre partie de ton code ! Je continue mes progrès !

Sébastien
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 337
Messages
2 087 392
Membres
103 536
dernier inscrit
komivi