XL 2013 Recherche Aléatoire sur plage de données

Furtif

XLDnaute Nouveau
Bonjour,

j'aimerais vos lumières sur un problème.

J'ai actuellement une fonctionne Si qui fait le travail sauf a chaque modification la valeur change alors que j'aimerais l'associé a un bouton soit une macro.

Code:
=SI(ET(E8="<15PO";B40=1);INDEX(aplante15;ALEA.ENTRE.BORNES(1;LIGNES(aplante15)));SI(ET(F8="<30PO";B40=1);INDEX(aplante30;ALEA.ENTRE.BORNES(1;LIGNES(aplante30)));SI(ET(G8="<50PO";B40=1);INDEX(aplante50;ALEA.ENTRE.BORNES(1;LIGNES(aplante50)));SI(ET(H8="<75PO";B40=1);INDEX(aplante75;ALEA.ENTRE.BORNES(1;LIGNES(aplante75)));SI(ET(E8="<15PO";B40=2);INDEX(dplante15;ALEA.ENTRE.BORNES(1;LIGNES(dplante15)));SI(ET(F8="<30PO";B40=2);INDEX(dplante30;ALEA.ENTRE.BORNES(1;LIGNES(dplante30)));"")))))))))))))))))

Mon problème est le suite pour ma macro j'ai un bout de code ->
If Range("E8").Value = "<15PO" And Range("B14").Value = 1 Then

Mais mon problème c'est que je ne trouve pas de code afin de poursuivre c'est a dire faire une recherche et un tirage aleatoire sur la plage de cellules "aplante15" (par exemple) ou sur une feuille particuliere colonne B en fonction d'une valeur en colonne D.

Merci de aide.
 

Victor21

XLDnaute Barbatruc
Bonjour, Furtif et bienvenue sur XLD.

Ne pensez-vous pas qu'un court fichier Excel se limitant à quelques données représentatives du problème aiderait les éventuels intervenants à vous aider ? Ou préférez-vous les laisser tenter d'imaginer et de reproduire votre fichier pour tester leurs propositions ?
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le forum

Ah Dongons&Dragons, un must

Comme il est tard, juste une suggestion de simplification au passage ;)
Cette version allégée de ta macro devrait faire la même chose que ta macro originale.
Code:
Sub RAZ()
Sheets("Recherche").Range("B5,B10,D10:E10,E11,C14,G14,T14") = ""
End Sub
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Vos noms dans le classeur sont inexploitables à mon avis.
Si vous développiez votre UserForm, j'aurais sans doute une solution pour un tirage aléatoire parmi plusieurs lignes possible portant certaines valeurs, spécifiées par des ComboBox, dans certaines colonnes d'un tableau unique
Edit: S'il faut pouvoir sélectionner parmi des critères de la forme "n po" où n <= à une valeur imposée, vous auriez intérêt, dans ce tableau unique, à ne mettre que la valeur, le " po" derrière étant ajouté par un format de cellule approprié.
 

Furtif

XLDnaute Nouveau
Merci d'avoir répondu, mais si je me trompe pas l'UserForm va crée une autre fenetre si tel est le cas ce n'est pas ce que je souhaite.

Ce n'est pas possible de dire à une macro de prendre une valeur aléatoire de la colonne B de la ligne 10/11/12/13 de la feuille B ? (par exemple )
 

Dranreb

XLDnaute Barbatruc
L'UserForm va s'ouvrir pour vous permettre de faire vos choix.
Il pourra vous inscrire où vous voudrez le résultat d'une sélection aléatoire parmi les lignes en correspondance.
Je n'ai pas trop compris la structure de votre feuille Recherche.
À vrai dire, dans un nouveau classeur avec vos données dans un seul tableau, je suis parti sur la réalisation d'un UserForm permettant de choisir certains critères parmi Herbe, Type, Catégorie, Nature, Localisation et Prix maxi, avec un bouton qui, je l'espère, permettra de suivre un lien hypertexte dynamique interne vers une des plantes correspondantes, prise au hasard.
Mais si ça ne vous intéresse pas, il faut me le dire.
 

Furtif

XLDnaute Nouveau
Alors, enfaite la feuille Recherche est là pour avoir les données finale.

Les autres feuilles Arctique, Forêt etc.. ont les infos brut ce que je voudrais faire en macro (Car avec le fonction Si a chaque actualisation la valeur change), c'est de dire que si dans la feuille recherche la valeur est <15PO avec Fôret.

La macro va dans la feuille Forêt et prend les lignes (que je peux choisir en fixe ou avec conditions si possible) qui sont inférieur ou égale a 15PO puis tire de manière aléatoire une valeur et l'affiche dans la feuille Recherche.

Actuellement c'est ce que fait la fonction SI à la ligne 150 du fichier.
Elle dit en gros :SI(ET(E8="<15PO";B40=1);INDEX(aplante15;ALEA.ENTRE.BORNES(1;LIGNES(aplante15)));SI(ET(F8="<30PO";B40=1);INDEX(aplante30; .....

Si E8 = <15PO et B40=1 (1= arctique) alors tu va chercher dans aplante15 (nom de cellule dans arctique comprenant que plantes de 15 ou moins) et en prend une aléatoire.

Je sais pas si j'ai été claire dans mes explications, mon but est de traduire ma fonction SI en macro pour arrêter le changement de valeur a chaque actualisation.

Edit : En solution temporaire si une solution existe j'ai mis la fonction SI en 40 puis quand je clique sur identification il copie la ligne 40 plus haut comme cela ma valeur ne change pas.
Après pour faire plus jolie au lieu de mettre en ligne 40 je pourrais mettre dans une autres feuille mais bon.
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Vous ne m'avez pas dit si mon système de recherche vous intéresse ou non.
S'il vous plait, ne vous accrochez plus du tout à ce que vous avez essayé. Je partirai de toute façon sur une base complètement différente. Ce qui n'empêche qu'on peut garnir comme souhaité des cellules de résultat à partir d'une ou plusieurs lignes trouvée. Mais là je n'y ai rien compris, à cette présentation.
 

Furtif

XLDnaute Nouveau
J'aime beaucoup le style du tableau, sauf j'aimerais si possible quand on clique sur consultation au hasard juste avoir besoin de choisir la localisation et le prix.

J'abuse un peu peut-être il faudrait que le résultat s'affiche dans une cellule de la feuille recherche.

Sinon merci beaucoup c'est un super boulot.

PS : comment je peux faire pour regarder le code et essayé de comprendre?
 

Dranreb

XLDnaute Barbatruc
Je le joins modifié car j'ai oublié une instruction importante pour que le système de sélection des inférieurs inclus ne s'applique qu'à la ComboBox CBxPrixMax
Mais vous ne choisissez que ce que vous voulez.
Bon. Alors comme votre feuille résultat je n'y comprenais rien j'en ai créé une, et j'y envoie les valeurs en ligne 2.
*** Pièce jointe supprimée.
 
Dernière édition:

Furtif

XLDnaute Nouveau
Alors enfaite il ne faut pas inclure les inférieurs,

il faut des tranches -> 0/15 - 16/30 - 31/50 - 51/75 - 76/+

J'aime bien la version deux avec la copie des infos, si possible on peux copier que le nom + le type et le lien ?(meme si il ouvre le lien naturellement quand meme) Nom en C14 / Lien en G14 et Type en T14 please

(Je ne sais pas si tu as vu mon message dessus il faudrait choisir uniquement la zone et le prix + PS : comment je peux faire pour regarder le code et essayé de comprendre?)

En tout cas c'est vraiment bien ce que tu as fait.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 947
Membres
101 849
dernier inscrit
florentMIG