VBA - recherche aleatoire avec critere

Bonjour,

Nouveau dans le monde de VBA je butte sur la problématique suivante et n'ai pas vu de littérature sur ce sujet sur votre forum.

Voici donc mon problème :

J'ai une feuille n°1 (DATA) qui me donne des données chiffrées amenées à évoluer (nbre de ligne qui va croitre dans le temps).

feuille1

En colonne IDCOMPTA (Colonne F) j'ai des numéros de compte et en Colonne MONTANT (Colonne J) des montants. En Colonne KEYITEMS (Colonne O) j'identifie les montants supérieurs à 1 000.

J'ai une feuille n°2 (SYNTHESE) qui me donne le montant du KEY ITEM minimum (ici dans mon exemple 1 000) et qui me donne pour chaque numéro de compte le nombre de lignes qui contiennent des KEY ITEM mais aussi le nombre de ligne à tester (colonnes B et C)

feuille2

Mon but est d'extraire en feuille n°3 les bonnes lignes. C'est à dire celles qui ont pour leur colonne O un montant de 1 000 et si ce n'est pas suffisant (Feuille2 Ligne 6 Colonne C > Feuille2 Ligne 6 Colonne B) alors il me faut compléter ma liste par une recherche aléatoire parmi les lignes de ma feuille n°1 qui contiennent le bon IDCOMPTA sans qu'il y ait de doublon avec les lignes déjà sélectionnées...

feuille3

J'espère vraiment avoir été plus clair, c'est vrai que décrire son problème n'est pas une chose si aisée que cela.

MERCI D'AVANCE POUR VOTRE AIDE car là je galère pas mal....

10test2.xlsm (26.31 Ko)

Bonjour GUIGUIDC et bienvenue,

Je ne sais pas si je pourrai aider, mais par contre je suis certain ... de n'avoir pas compris grand chose

Crée un fichier avec des données non confidentielles, mais qui représente la structure de ton fichier réel. Si tu as du code qui fonctionne (au moins en partie) joins-le à ce fichier. Enfin, donne des exemples de résultats attendus.

Peut-être alors se trouvera-t-il quelqu'un pour proposer l'une ou l'autre piste ...

Bonjour U-milité

Effectivement pas si clair que cela donc voici le fichier :

6test2.xlsm (26.31 Ko)

Bref mon idée est de pouvoir rajouter 3 lignes supplémentaires sur ma feuille "65000". En effet dans la feuille "synthèse" il me faut 5 items à tester, hors je n'ai que 2 Key items qui ressortent avec la macro en place.

Comment en rajouter 3 tirés au hasard dans les possibilités restantes dans la feuille DATA parmi les lignes contenant "65000" dans la colonne "F" ?

MERCI BCP pour le coup de pouce !

G

Bonjour,

Désolé, mais je ne vois pas le lien entre tes explications (les REF et les REF "chapeau") et le contenu de la colonne L ... entre autres!

Comme ton message a été lu 38 fois, je subodore que je ne suis pas le seul à rester perplexe

Ceci étant posé et avec ce que je comprends ... un filtre ne suffirait pas? (parce qu'une boucle sur 30.000 lignes avec deux IF imbriqués à chaque passage, ce ne sera sans doute pas le code le plus performant )

J'ai essayé de mieux formuler mon problème. U-milité Est-ce que cela te semble plus clair ?

Merci pour ton input

G

Bonsoir,

J'ai essayé de mieux formuler mon problème

C'est effectivement un peu plus clair ... mais du coup, ça soulève une nouvelle question: que faire s'il y a plus d'enregistrements répondant aux conditions de départ (s'il y en a plus que 5, comme attendus dans ton exemple)?

J'avais dit que je n'étais pas certain de pouvoir aider ... je confirme ... c'est un peu "tortueux" comme principe, non?

Tu ne pourrais pas, simplement, filtrer tes données (tu sauras instantanément si tu obtiens le nombre de lignes attendu). Si ce nombre est trop peu élevé, tu supprimes (ou tu modifies) ton critère sur le montant, jusqu'au moment où tu en obtiens suffisamment ... et c'est toi qui décides lesquels tu conserves ... ou pas.

Je ne vois pas d'autre solution -relativement simple- à ton problème !?

Il me faut vraiment faire une macro car je ne veux pas laisser la main aux utilisateurs

Rechercher des sujets similaires à "vba recherche aleatoire critere"