Besoin d'aide (VBA) pour un débutant

Tom la bulle

XLDnaute Nouveau
Bonjour à tous
Je sais que le but de ce forum n'est pas de faire faire le travail par d'autre. Je veux juste apprendre et être capable de le refaire ensuite.:)

Je voudrai trier un tableau de données, la tâche étant répétitive je voudrais l'effectuer par macro. Le problème est que je ne suis pas spécialiste et il me manque disons le vocabulaire...:eek:

Ce que j'aimerai faire c'est une boucle. Le contenu serait :
1) Lire ma feuille de données selon RefD,
2) Dès que RefD devient différent, retenir le mini tableau supérieur (ici mon premier mini tableau serait A2 :G8, le second (A9 :G13)
3) Comparer, dans ce mini tableau, NB SI « empl » du mini tableau est de la forme « D**** », et NBVAL dans empl du mini tableau.
Alors :
a) si NBSI<NBVAL, effacer du tableau toutes les lignes qui ne sont pas de la forme D****, (ou reporté les bonnes lignes)
b) si non, tout garder

J'ai commencé ma macro avec ce que je savais déjà. Pour l'instant elle ne fait que lire ma liste et reporté l'empl,pos et stck. MAIS je ne connais pas le code pour y insérer ma boucle conditionnelle (If Then else certainement mais ??) et pour appliquer les formules types (NBVAL, NBSI, SOMME,SOMPROD...) ( Oui j'en suis au tout début:D)

Je laisse le fichier exemple.
Quelqu'un pourrait il m'aider dans ce type de tri :confused:?

Tom
 

Pièces jointes

  • TridonnéesExemple.xls
    30.5 KB · Affichages: 58

skoobi

XLDnaute Barbatruc
Re : Besoin d'aide (VBA) pour un débutant

Bonjour,

En fait cela revient à garder les lignes qui ont « D**** » dans la colonne "EMPL" pour tout le tableau non?
Je pose cette question car ça simplifiera le code.

Au fait, « D**** » ou « D* » revient au même sauf si tu veux qu'il doit y avoir impérativement 5 caractères, dans ce cas: « D???? ».
 

Tom la bulle

XLDnaute Nouveau
Re : Besoin d'aide (VBA) pour un débutant

Bonjour le forum, Skoobi,

Oui c'est bien ça, garder "D*" si la condition NbSI<Nbval du mini tableau est VRAI, effacer sinon.
En fait ce qui me bloque c'est de créé la boucle avec cette condition.
En tout cas merci pour l'aide que tu pourrais m'apporter, parce que là je fais tout à la main... c'est long...
:)
Tom
 

Tom la bulle

XLDnaute Nouveau
Re : Besoin d'aide (VBA) pour un débutant

Re,
oui j'aurai pu placer en effet un filtre personalisé et ne prendre que les emplacement qui commencent par un D. Mais ce n'est qu'ici dans l'exemple (finalement assez mal choisi), je voulais mettre la boucle conditionnelle car si dans les mini tableau il y a plus de ligne dont l'emplacement commencent par D je veux récupérer les quelques ligne qui n'ont pas leur emplacement de la forme "D*", et inversement si le nombre de ligne començant par un D est inférieur aux nombre de ligne du mini tableau je garde les lignes avec un "D*"...
Je m'excuse je pense que mes premières explications n'étaient pas très claires.

Voici un autre fichier pour l'exemple.

à plus
 

Pièces jointes

  • Tri conditionnel.xls
    30.5 KB · Affichages: 74

skoobi

XLDnaute Barbatruc
Re : Besoin d'aide (VBA) pour un débutant

Re,

tu dis:

JE NE GARDE QUE LES LIGNES AVEC EMPLACEMENT GH134 et EA295 car NB.SI(D19:d34;"D*")<NBVAL(D19:d34) est FAUX.
Ce qui n'est pas vrai!, NB.SI(D19:d34;"D*" sera toujours inférieur ou égal à NBVAL(D19:d34), il ne peit pas y avoir plus de D* que le total du mini tableau :confused:.

si dans les mini tableau il y a plus de ligne dont l'emplacement commencent par D

Plus par rapport à la qté du mini c'est pas possible?!?!
 

Discussions similaires

Statistiques des forums

Discussions
312 842
Messages
2 092 745
Membres
105 519
dernier inscrit
faivre-roussel.ivan@orang