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

  • Initiateur de la discussion Initiateur de la discussion Tom la bulle
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

T

Tom la bulle

Guest
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...😱

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😀)

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

Tom
 

Pièces jointes

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???? ».
 
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
 
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

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 😕.

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?!?!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Réponses
7
Affichages
343
Réponses
2
Affichages
911
Retour