2 problèmes rencontrés : bloquer alea.entre.bornes (1) et nb.si + MFC (2)

14jeux-ods-lr.zip (447.04 Ko)

Bonjour à toutes et tous

Voici deux problèmes rencontrés,

Le premier :

J'utilise cette formule...

=INDEX(Z2:$Z$10335;ALEA.ENTRE.BORNES(1;10335))

Dans les colonnes A, D, G, J,

A chaque fois que je fais un changement (clique ou enter) en colonne B, E, H, K,

Tout dans les colonnes A, D, G, J, se met à jour.

Y'a t-il moyen de programmer sa mise à jour uniquement par la combinaison d'autres touches qu'enter ou le clic ? (par exemple un touche F... ou combinaison alt+... ou ctrl...) (VBA, fonction, ou Option Excel)

A noter que c'est un fichier sans contenu sensible, mais qui doit être utilisable par des personnes qui ne sont pas nécessairement initiées à Excel.

Le deuxième

Dans les colonnes A, D, G, J, se trouvent des tirages issues d'une longue liste en ligne Z.

Dans les colonnes juxtaposées, c-à-d B, E, H, K, la personne doit trouver la solution parmi une longue liste de solutions en ligne AA.

Comment faire pour mettre en mise en forme conditionnelle avec un nb.si (il me semble ?) et couleurs si vrai, et si faux, pour les colonnes B, E, H, K ?

C'est assez facile avec un 'si', mais cela me semble beaucoup plus complexe avec un 'nb.si' !

Bref, pour les deux problèmes, voir fichier joint sur la feuille "Feuil1" pour les personnes qui souhaitent bidouiller. :-)

Merci pour votre aide, chère communauté. ;-)

Lucrob / Robluc

Le premier problème étant résolu, je passe au second.

Autrement dit, à l'aide d'une MFC, vérifier si un mot parmi une liste donnée (de 10335 mots...) figure bien dedans.

Si pas = cellule en rouge. Si oui, la cellule change immédiatement en vert....

Cela semble tellement facile... mais comment faire un nb.si avec MFC ?

Le hic étant que sur la même feuille et même plage, j'ai désactivé l'option de calcul automatique des formules, pour pouvoir "bloquer" et "manager" la fonction alea.entre.bornes à l'aide de boutons d'action et de F9.

Si quelqu'un peut m'aider... je joins le fichier retravaillé ici.

14jeux-ods-lr.zip (455.11 Ko)

Merci

en rouge

=NB.SI($AA$2:$AA$10335;B4)=0

en vert

=NB.SI($AA$2:$AA$10335;B4)=1

A appliquer sur toutes les plages

Mais pour être plus juste, il faudrait aussi comparer avec les lettres du tirage de la cellule d'à côté, car on peut mettre un mot qui n'a rien à voir avec le tirage et avoir la cellule en vert.

bonsoir,

tout va bien pour le moment, les formules fonctionnent bien. =)

simple question 'colle', comment faire pour calculer le résultat imaginons ? De bonnes réponses.

est-ce que la fonction sommeprod est-elle adaptée ?

la formule "=SOMMEPROD(NB.SI($AA$2:$AA$10335;B4)=0)" m''indique dans la cellule que je souhaite "#VALEUR!"

bonsoir,

une solution pour figer ton tirage, faire un tirage par macro

Private Sub Reset_tout_Click()
    For i = 1 To 10 Step 3 'on prend les colonnes 1,4,7 et 10 (A,D,G,J)
        For j = 4 To 18 'on prend les lignes 4 à 18
        q = Application.RandBetween(1, 10335) 'on tire un nombre au hasard de 1 à 10335
            Cells(j, i) = Application.Index(Range("tirages"), q) 'on met en cellule (ligne j, colonne i) la valeur trouvée dans la plage tirages en position Q
        Next j 'ligne suivante
    Next i 'colonne suivante
End Sub

bonjour h2so4

cela marche du tonnerre,

est-ce possible de m'expliquer ce code, afin que je puisse l'adapter pour d'autres fichier à l'avenir ?

J'imagine qu'il est transposable tant que les dispositions (colonnes et noms de plages) restent les mêmes ?

Merci !

Bonne soirée et au plaisir

il me manque plus que le fait de calculer le total de bonnes réponses (si possible en %), qui est basé sur de la mfc de nb.si.

La fonction somprod, mais cela ne doit pas être la bonne. Quelqu'un sait me mettre sur la voie de la fonction à utiliser dans ce genre de cas?

Bonsoir,

ta formule me semble correcte mais tu dois faire une validation matricielle (ctrl-shift-enter) au lieu de (enter) et reactiver le calcul automatique

bonsoir h2so4

j'ai encodé cette formule en B19, afin de calculer le résultat de bonne réponse entre B4:B18

=SOMMEPROD(NB.SI($AA$2:$AA$10335;$B$4:$B$18)=1)

J'ai fait ctrl shift enter, pour avoir une validation matricielle (accolades)

Cependant, cela reste à 0, malgré que je tape de bonnes réponses.

J'ai bien entendu réactivé le calcul automatique.

Sans doute que je m'y prends mal...

NB = le but final est d'additionner aussi ce qu'il y a en E19, H19 et K19, pour en faire un total en %.

Je remercie les personnes qui me mettront sur la bonne voie et voir ce qui foire...

Cdlt Lucrob

Bonour,

Ceci:

=SOMMEPROD((NB.SI($AA$2:$AA$10335;$B$4:$B$18)*1)+(NB.SI($AA$2:$AA$10335;$E$4:$E$18)*1)+(NB.SI($AA$2:$AA$10335;$H$4:$H$18)*1)+(NB.SI($AA$2:$AA$10335;$K$4:$K$18)*1))

inutile de valider avec CTRL + SHIFT + ENTREE, puisque SOMMEPROD est déjà une matricielle.

Cdlt

bonjour,

je parlais de cette formule que je trouve dans les autre feuille

=SUMPRODUCT((B165:B214=Z165:Z214)*2)/100

inutile de valider avec CTRL + SHIFT + ENTREE, puisque SOMMEPROD est déjà une matricielle.

correct, je me suis laissé avoir par le fait que le classeur était en mode calcul manuel.

Bonjour

Les formules sur les autres feuilles fonctionnent très bien,

La formule d'Arturo83 fonctionne parfaitement pour la feuille avec alea.entre.bornes.

Deux interrogations me viennent maintenant :

- c'est moi ou c'est très lent à valider, uniquement sur cette feuille ? Je suspecte que plus la liste est longue, plus Excel/le PC rame...

- sur les deux feuilles de 'jeu', quand je tape n'importe quel mot qui est dans les solutions mais qui ne correspond pas au tirage donné, ça se met en vert...

Ex : EGOOPRR se met en vert quand je tape 'JOCASSE' car il est dans liste, mais devrait être rouge car EGOOPRR correspond à 'PROROGE' lui aussi dans la liste.

Donc

EGOOPRR = PROROGE en vert ; EGOOPRR = JOCASSE en rouge (ou tout autre mot <> de PROROGE). Et ce valable pour n'importe quel mot de la liste comme condition...

Est-ce faisable ?

Votre aide jusqu'à présent m'a été très utile. Le deuxième point éventuellement à corriger pour les Lucky Luke d'Excel pour celles et ceux qui souhaitent :-)

Bon week-end

Lucrob

bonjour,

en passant par une formule intermédiaire cela devrait être plus rapide :

Dans le fichier joint, j'ai modifié les formules des MFC pour que le mot trouvé corresponde exactement avec les lettres tirées.

bonjour,

je reviens de ma promenade. J'ai rapidement checké les deux versions. Les deux sont bien. Néanmoins, il y a toujours une extrême lenteur soit dans la validation en appuyant sur Enter, ou alors soit en 'resetant tout' donc remettre de nouveaux tirages.

Je ne sais pas si c'est 1) dû à mon pc qui est assez vieux 2) parce qu'il y a trop de tirages (10334) et que donc cela prend du temps à Excel de calculer.

Je ne sais pas non plus s'il y a moyen d'optimiser cette vitesse là. J'imagine que l'idéal c'est de faire des listes moins longues, de 500-1000 mots max pour que cela gagne en temps ?

Merci en tout cas pour vos suggestions, parce que bien que je me débrouille 'à mon niveau' avec excel, celles apportées je ne les aurais jamais trouvées.

Bonsoir,

Je ne vois pas la macro qui refait de nouveaux tirages, où est-elle?

Bonsoir,

voici le dossier sur lequel je travaille actuellement. Il y a les macros sur deux feuilles, dont le procédé est strictement identique.

Dans la feuille "Jeu - Tout" c'est relativement lent en encodant (enter et mise à jour de la mfc), ainsi que pour effacer. Pour le bouton "Reset tirages" sur la même feuille c'est trèèès trèèèès trèèès lent la première colonne de B4 à B18, et ensuite Excel se met en mode avion de chasse en modifiant les tirages des autres colonnes très très vite en mode éclair...

Comment pallier ce problème ? Je ne connaissais pas cette lenteur avec la même macro auparavant, sans les mfc et formules. Je ne connais pas non plus (ou moins) cette lenteur d'Excel à traiter les infos 'validation' et 'boutons d'action' sur la feuille 'Jeu - JKQWXYZ'... mais il n'y a qu'une liste de 2700 éléments... (Jeu - Tout : 10334)

Qu-est qui peut expliquer ce ralentissement ? Est-ce du aux formules et mfc ? Ou est-ce que c'est parce que j'ai un pc à la ramasse ?

Merci pour vos éclaircissements et bon week-end

Lucrob

14jeux-ods-lr.zip (499.79 Ko)

Bonjour,

j'ai simplifié tes formules de calcul de % et de MFC, et adapté la macro de tirages. Cela devrait aller plus vite. (bien que chez moi ce soit quasi instantané)

superbe !! merci !

à moi donc de le mettre en application les différentes formules pour d'autres fichiers !

super grand merci vous h2so4 et arturo83

bon week end ! :-)

Rechercher des sujets similaires à "problemes rencontres bloquer alea entre bornes mfc"