Sélection sélective de cellules 1/18 pair/impair roulette

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Avatar de l’utilisateur
thepapy
Membre lOOyal
Membre lOOyal
Messages : 38
Inscription : 22 nov. 2019 19:43

Sélection sélective de cellules 1/18 pair/impair roulette

Message par thepapy »

Bonsoir reprenant mon exemple et fichier ici
Par formule à placer dans une cellule

Je souhaite comptabiliser une suite de 6 numéros de 1 à 18 , Ensuite je changerai pour (le 19 à 36)

Si un numéro au dessus du 18 sort , la suite retombe à 0



Et 6 numéros de suite pair impaire. Vous l’aurez compris, cela augmentera considérablement mes chances
Ceci afin de formater par la suite en jaune cette cellule à jouer en priorité

:/ je présume qu’il faut jouer avec les fonctions Max , ,<=18, >18 mod 36 ? ligne , si , est pair , j’avoue que c’est très sincèrement hard dans mon cas.. :/

Cordialement yves.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
open office 4.1.7 , win10
Avatar de l’utilisateur
thepapy
Membre lOOyal
Membre lOOyal
Messages : 38
Inscription : 22 nov. 2019 19:43

Re: Sélection sélective de cellules 1/18 pair/impair roulett

Message par thepapy »

@Jean-Louis c.
est-ce possible de m'expliquer juste la ligne? car les étoiles exemple ceci :

Code : Tout sélectionner

...<>"")*(LIG...
je ne comprends pas bien ce que ça veut dire :/ la valeur " multiplier " qui correspond * ou alors " ajouter " la suite.. il me semble
j'essaie de partir de base à comprendre ta formule afin d'essayer de créer une autre pour 1 à 18 ... ensuite pair... :/

Code : Tout sélectionner

=MAX(0;MAX((B2:B100<>"")*(LIGNE(B2:B100)))-MAX((INDIRECT("B2:B"&MAX((B2:B100<>"")*(LIGNE(B2:B100))))="")*(LIGNE(INDIRECT("B2:B"&MAX((B2:B100<>"")*(LIGNE(B2:B100))))))))
open office 4.1.7 , win10
Jeff
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 10007
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: Sélection sélective de cellules 1/18 pair/impair roulett

Message par Jeff »

Bonjour,
thepapy a écrit :comptabiliser une suite de 6 numéros de 1 à 18
Donc, pour le résultat suivant :
AOO_forum.png
Tu voudrais obtenir : 2, 5, 6, 8, 11, 18 ? Dans des cellules séparées ?
thepapy a écrit :Si un numéro au dessus du 18 sort , la suite retombe à 0
Donc, pour le résultat suivant :
AOO_forum1.png
Tu as obtenu 5, 6, 8, 11, 18, puis ce décompte est tombé à 0, et dans d’autres cellules il faut afficher 21, 23 ? Ou bien il faut attendre six numéros consécutifs ?

Et si le 0 sort, on en fait quoi ?

Avant de se lancer dans une quelconque réflexion, il serait souhaitable de bien établir ce que tu veux, quitte à le mettre le résultat souhaité dans un fichier-exemple ; cela dit, je pense que tu vas rapidement t’embarquer dans un classeur type usine à gaz :mrgreen: (pas encore d’idée pour mettre en œuvre ce que tu souhaites)
thepapy a écrit :est-ce possible de m'expliquer juste la ligne?
Normalement, je renvoie vers l’assistant de fonction, mais celui-ci n’affiche pas les résultats de calculs matriciels ; le plus simple :
  • Créer une copie de ton classeur
  • Essayer les bouts de formule un à un en validant par Ctrl + Maj + Entrée
    Commencer par :
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
À lire avant tout !

Pour télécharger Apache OpenOffice

AOO 4.1.16 / Debian 13 "Trixie" / Xfce
AOO 4.1.15 / Debian 11 "Bullseye" / Cinnamon
Avatar de l’utilisateur
tintin
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 10181
Inscription : 18 juil. 2008 15:29
Localisation : F-Oise

Re: Sélection sélective de cellules 1/18 pair/impair roulett

Message par tintin »

Bonjour,
[b][color=#404080]thepapy[/color][/b] a écrit :cela augmentera considérablement mes chances
[color=#404080]Jeff[/color] a écrit :[t]’embarquer dans un classeur type usine à gaz
Ok, je :arrow:
AOO 4.1.16 et LibO 25.8.5 / macOS M4 Silicon 26.4 Tahoe
Adoptium-temurinJDK-1.8.0.482 / Firefox/Safari/Thunderbird /Time Machine + clone
Tutoriels du forum pour macOS
Pour sauvegarder vos documents c'est ceinture ET bretelles
Avatar de l’utilisateur
thepapy
Membre lOOyal
Membre lOOyal
Messages : 38
Inscription : 22 nov. 2019 19:43

Re: Sélection sélective de cellules 1/18 pair/impair roulett

Message par thepapy »

:)) Non non ce ne sera pas usine à gaz mais bien avoir sincèrement une machine à win...
Tu voudrais obtenir : 2, 5, 6, 8, 11, 18 ? Dans des cellules séparées ?
==> non on incrémente une cellule de 1 ( pareil avec pair et impair)

, 2 journées complète que je fouine à tester ^^ mais ne trouve que mon cerveau à plat ^^
( qui lorsque la cellule que l'on incrémente de 1 , quand elle sera peut être à 5 ou 6 , je testerai, je lui met une fonction conditionnel d'une couleur jaune sur la case) c'est ce que j'ai fait avec les couleurs que ma si gentiment communiquer la formule un Dieu béni de ce forum :))
Et si le 0 sort, on en fait quoi ?
0 égale une perte donc la cellule retombe à zéro



La chance souri à ceux qui veulent la prendre :mrgreen:
Dernière modification par thepapy le 27 nov. 2019 07:33, modifié 1 fois.
open office 4.1.7 , win10
Avatar de l’utilisateur
thepapy
Membre lOOyal
Membre lOOyal
Messages : 38
Inscription : 22 nov. 2019 19:43

Re: Sélection sélective de cellules 1/18 pair/impair roulett

Message par thepapy »

Merci Jeff

mais
Créer une copie de ton classeur
===> j'ai essayé par copier le classeur , ensuite coller en croupier 2 ( 2 ieme classeur mais fonctionne pas , honnêtement je dois encore étudier cette fonction car j'ai débuter y à seulement 3 jours sur calc :)

Code : Tout sélectionner

=((B2:B100<>"")*(LIGNE(B2:B100))
=> incrémente de 1 cellule par cellule si dans le tableau B2:B100 est différent de vide , là j'apprends que pas besoin d'inclure une Fonction =Si ... le étoile joue le & "ET" ?
open office 4.1.7 , win10
Avatar de l’utilisateur
thepapy
Membre lOOyal
Membre lOOyal
Messages : 38
Inscription : 22 nov. 2019 19:43

Re: Sélection sélective de cellules 1/18 pair/impair roulett

Message par thepapy »

Avant hier jusqu'à minuit, hier jusqu’à minuit, aujourd'hui .... bah pas mieux...

Je marche sur mes yeux, si un petit jeff passe par ici :/ ... car je tourne en rond à chaque fois je n'arrive pas e revenir à zéro
ne pas rire , mais j'ai essayé ...

Code : Tout sélectionner

=NB.SI((INDIRECT("B1:D"&MAX((B1:D100>=19)*(LIGNE(B1:B100)))));">18")
ça revient au même point que d’écrire ceci:

Code : Tout sélectionner

=NB.SI(B1:D100;">18")
ok j'ai un nombre de cellules , problème lorsque la série ce termine , bien avidement elle ne revient pas à zero :fou:

le problème revient vite car comment écrire l'inverse , c'est à dire de 1 à 18?

Code : Tout sélectionner

=NB.SI(B1:D100;"<19")
comment faire pour qu'il ne prend pas le zero... donc entre 1 et 19..?

Code : Tout sélectionner

=NB.SI(B1:D100;">1&<19")
ne fonctionne pas

bref je ne m'en sort plus :(
DSL pour l'admin de ma redondance, je ne poste plus rien ici sans autre solutions , mais il me fallait expliqué la situation

Je remercie déjà pour le premier post les personnes qui ce sont attardés sur mon cas.
Cordialement. Yves
Dernière modification par thepapy le 27 nov. 2019 15:11, modifié 1 fois.
open office 4.1.7 , win10
Jeff
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 10007
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: Sélection sélective de cellules 1/18 pair/impair roulett

Message par Jeff »

Ne poste pas plusieurs messages à la suite, tu as un bouton "Éditer" en haut à droite pour compléter un post non recouvert :wink:
thepapy a écrit : j'ai essayé par copier le classeur , ensuite coller en croupier 2 ( 2 ieme classeur mais fonctionne pas
Je pense que c’est logique, je n’ai pas eu le temps de regarder, mais ta macro doit aller se servir avec le nom du fichier, mais tu peux essayer sur un fichier vierge également.
thepapy a écrit : j'ai essayé

Code : Tout sélectionner

=((B2:B100<>"")*(LIGNE(B2:B100))
J’ai l’impression que tu lis en diagonale :
Jeff a écrit :Essayer les bouts de formule un à un
Par exemple (cliquer sur l’image pour zoomer) :
AOO_forum.png
Pour calculer une plage de cellules ocntenant les 6 dernières valeurs, ma préférence irait à DECALER (lien vers tuto), et ensuite appliquer NB.SI sur cette plage dynamique.

Pas le temps d’en faire davantage pour aujourd’hui :aie:
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
À lire avant tout !

Pour télécharger Apache OpenOffice

AOO 4.1.16 / Debian 13 "Trixie" / Xfce
AOO 4.1.15 / Debian 11 "Bullseye" / Cinnamon
Avatar de l’utilisateur
thepapy
Membre lOOyal
Membre lOOyal
Messages : 38
Inscription : 22 nov. 2019 19:43

Re: Sélection sélective de cellules 1/18 pair/impair roulett

Message par thepapy »

Grand merci Jeff , je vais étudier le tuto sur plage dynamique, et ok pour le mode édition,
sache que je ne lis pas en diagonale , sauf à minuit :D

à mon avis tu as du rigoler quand je vois la complexité du bazar .... oulalala
Je pense que j'en ai encore pour 3 semaines ^^

Il me semble, Très sincèrement , que la solution la plus simple est de vérifier la dernière valeur de la cellule de la matrice , si elle ce trouve entre 1 et 18 donc vrai , alors j'incrémente de 1 , si faux , alors 0
mais rien que cette logique de trouver comment incrémenter de 1 tout simplement une cellule , en fonction d'une condition, sans prendre le zero de la matrice ( <19 ) => il prend en compte le 0 c'est un défi pour moi.. :/
, pour la condition de 6 c'est tout simple après de faire un format conditionnel .

@jef
Merci pour le tableau, j’avais déjà essayé, le résultat c’est que j’arrive pas à lui faire comprendre à calc de faire

Code : Tout sélectionner

=max(B1:D100>18)
parce que c’est un nombre aléatoire, comment le modifier avec un =si?

Pour calculer une plage de cellules ocntenant les 6 dernières valeurs, ma préférence irait à DECALER (lien vers tuto), et ensuite appliquer NB.SI sur cette plage dynamique.
Bon je vais jeter mon dévolu la dessus :/ , à l'année prochaine :fou:
Grand merci Jeff.

4 ieme jours.. toujours coincé..

étrangement lorsque j'ai créé une cellule avec le dernier numéro sorti de la matrice avec ce code:

Code : Tout sélectionner

INDEX(B1:D1;E2;1
Parfois il me sort bien le numéro de la cellule en colonne D, si sur sur mon clavier , je fais sortir un numéro de la colonne 1 avant c'est à dire la colonne B de la matrice BCD qui va de 1 à 100, comment faire si je veux sortir le dernier numéro de la dernière cellule de la matrice ,

à partir de cette case je devrais pouvoir après vérifier avec un NB.SI >18 et NB.SI >=1 et <19

quelle complication.... je ne savais absolument pas que c'était si compliqué ..., je pensais avoir résolu le premier problème du dernier chiffre sorti... appartement même pas .. :fou: :marto: :marto:
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
open office 4.1.7 , win10
Avatar de l’utilisateur
thepapy
Membre lOOyal
Membre lOOyal
Messages : 38
Inscription : 22 nov. 2019 19:43

Re: Sélection sélective de cellules 1/18 pair/impair roulett

Message par thepapy »

Sa sent le divorce avec ma femme ^^ , elle me demande de te dire qu'elle ne me voit plus car je suis non stop devant cette foutu formule ^^
=Divorce(Si(j'arrive pas à trouver))
:marto:
j'avoue que je me tourne vers le décaler mais décaler:
Dans : insertion, nom , définir :

Code : Tout sélectionner

DECALER($Feuille1.$B$1;;;NBVAL($B$1:$B$100);3)
SUR UNE SEULE colonne ça fonctionne mais pas

Code : Tout sélectionner

DECALER($Feuille1.$B$1;;;NBVAL($B$1:$D$100);3)
JE ne suis pas encore prêt d'y arriver :/ :mrgreen: :mrgreen:

Très sincèrement les choses aurais été probablement plus simple si la macro rendait tout les numéros sur une seule colonne et non séparée, tout ce que j'ai lu comme tuto, regardé youtube etc, c'est à 90% sur une seul et même colonne ..
open office 4.1.7 , win10
Jeff
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 10007
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: Sélection sélective de cellules 1/18 pair/impair roulett

Message par Jeff »

thepapy a écrit :=Divorce(Si(j'arrive pas à trouver))
Deux erreur dans cette formule, la fonction Divorce n’est pas implémentée, et il manque une valeur_si_faux ainsi qu’une valeur_si_vrai à ta fonction SI, une formule approchante serait

Code : Tout sélectionner

=SI(je_m’obstine_à_faire_une_usine_à_gaz;Divorce;je_continue_comme_avant) 
:mrgreen:

Il te faut déjà trouver la dernière cellule occupée par un chiffre, une recherche sur dernière cellule non vide s’impose.

On sait ensuite qu’il faut "revenir" 6 lignes auparavant pour avoir les 6 dernières valeurs, puis on sait que c’est sur 3 colonnes (fixes, il faut mettre un peu de simplicité dans le truc :aie: ), et l’on sait que DECALER validée matriciellement peut retourner une plage ; ça, c’est donc la partie "facile".

Une fois que tu as franchi cette étape, t’attends toutes les formules qui vont déterminer si c’est inférieur ou non à 18 sur 1, puis 2 puis 3... puis 6 chiffres consécutifs, avec retour(s) à 0 éventuel(s), pareil pour les chiffres au-delà de 18, et tenir compte du numéro 0 :fou:
À lire avant tout !

Pour télécharger Apache OpenOffice

AOO 4.1.16 / Debian 13 "Trixie" / Xfce
AOO 4.1.15 / Debian 11 "Bullseye" / Cinnamon
Avatar de l’utilisateur
thepapy
Membre lOOyal
Membre lOOyal
Messages : 38
Inscription : 22 nov. 2019 19:43

Re: Sélection sélective de cellules 1/18 pair/impair roulett

Message par thepapy »

oula, je pense que j'ai du rechercher pendant 5 jours sur google, excel openoffice, macro, script,
et tu as trouver ce que je cherche, j

1_ Concernant la recherche sur un Tableau, j'ai supprimé un petit bout de la formule que j'estime inutile (voir fichier joint Feuille3 2°)
A me confirmer, ou infirmer éventuellement.
ce qui nous donne :

Code : Tout sélectionner

 =INDIRECT(ADRESSE(MAX((DECALER(tableau;0;MAX((tableau<>"")*COLONNE(tableau))-MIN(COLONNE(tableau));;1)<>"")*LIGNE(tableau));MAX((tableau<>"")*COLONNE(tableau))))
hier soir vers 23h j'avais enfin réussi ceci
car si tu as remarqué en E2 de mon fichier, j'ai chopé la dernière ligne

Code : Tout sélectionner

=INDEX(B1:D100;E2;0)
+ Maj+ctrl+enter mais re problème 3 colonnes encore ^^

Grand merci jeff je vais continué, tu me sauves :)) , je vais voir si résolu ;))
open office 4.1.7 , win10
Avatar de l’utilisateur
thepapy
Membre lOOyal
Membre lOOyal
Messages : 38
Inscription : 22 nov. 2019 19:43

Re: Sélection sélective de cellules 1/18 pair/impair roulett

Message par thepapy »

huuumm , non

Code : Tout sélectionner

=INDIRECT(ADRESSE(MAX((DECALER(matrice;0;MAX((matrice<>"")*COLONNE(matrice))-MIN(COLONNE(matrice));;1)<>"")*LIGNE(matrice));MAX((matrice<>"")*COLONNE(matrice))))
validée matricielle , fait un test si tu sorts un numéro rouge , puis noir , puis rouge cela ne fonctionne plus .. ( je pense que je dois l'adapter pour 3 colonnes...?)

donc n'est pas fonctionnel :/

Code : Tout sélectionner

=INDIRECT(ADRESSE(MAX((matrice<>"")*LIGNE(matrice));MAX((DECALER(matrice;MAX((matrice<>"")*LIGNE(matrice))-MIN(LIGNE(matrice));0;1)<>"")*COLONNE(matrice))))
Pour retrouver la dernière cellule non vide de la dernière ligne non vide Fonctionne donc

wow. ok j'ai un numéro comme tu dis jef et maintenant :D ahahah , résoudre mes conditions ^^ wow quelle épilogue :aie:

que mon conseil tu?
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
open office 4.1.7 , win10
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 10071
Inscription : 28 août 2010 08:45

Re: Sélection sélective de cellules 1/18 pair/impair roulett

Message par micmac »

Une discussion n'est pas un monologue.
Merci de ne pas poster plusieurs messages à la suite. Vous disposez d'un bouton Éditer en haut à droite de chaque message et d'un autre bouton ajout si vous désirez ajouter un complément lorsqu'il n'y a pas de réponse.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
Jeff
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 10007
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: Sélection sélective de cellules 1/18 pair/impair roulett

Message par Jeff »

thepapy a écrit : je pense que je dois l'adapter pour 3 colonnes
Je n’ai pas de soucis pour les 3 colonnes, en revanche, je suis "court" en ligne (si la première ou seconde colonne est plus remplie, la totalité des lignes n’est pas prise en compte).

Une formule qui couvre l’étendue du tableau pour avoir la dernière cellule non vide semble être :

Code : Tout sélectionner

=ADRESSE(MAX((tableau<>"")*(LIGNE(tableau)));MAX((tableau<>"")*(COLONNE(tableau))))
À valider matriciellement
 Ajout : Plus exactement, cette formule permet de connaitre la cellule qui est au croisement de la dernière ligne et colonne contenant une donnée ; par exemple, pour un tableau A1:D15 (ici en jaune) : 
AOO_forum.png
Il en résulte que la ligne maxi est obtenue par :

Code : Tout sélectionner

=MAX((tableau<>"")*(LIGNE(tableau)))
(matricielle aussi)
  
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
À lire avant tout !

Pour télécharger Apache OpenOffice

AOO 4.1.16 / Debian 13 "Trixie" / Xfce
AOO 4.1.15 / Debian 11 "Bullseye" / Cinnamon
Avatar de l’utilisateur
thepapy
Membre lOOyal
Membre lOOyal
Messages : 38
Inscription : 22 nov. 2019 19:43

Re: Sélection sélective de cellules 1/18 pair/impair roulett

Message par thepapy »

Déjà, grand merci de prendre du temps sur mon cas.

Je vais regarder comment jongler avec l'adresse si j'arrive donc avec un NB.si maintenant que l'on à une adresse de la dernière ligne ,surtout de la dernière colonne non vide puisque je bloquait la dessus

sinon pour la ligne maxi j'avais ceci :

Code : Tout sélectionner

=NBVAL(B1:D100)
en matricielle. qui me donne le même résultat que

Code : Tout sélectionner

=MAX((tableau<>"")*(LIGNE(tableau)))
j'avoue qu'il faut être un as, car voilà tout les jours que je cherche , depuis mon inscription sur ce forum à l’occurrence de 5h par jour... à essayer.. pour te dire : j'ai télécharger le pdf :
programmation openoffice org 3 ed 1v1

pensant trouver des bouts de code qui va me plonger dans une étude de 6 mois pour trouver 2 conditions manquantes ^^

je continue donc ..

encore merci jeff,



La question est:

Comment incrémenter une cellule de 1 par rapport aux 6 derniers résultats de la matrice B C D en suivant une condition .

jusqu'a présent , j'arrive à:

avoir la dernière valeur de la cellule d'un tableau par ce code :

Code : Tout sélectionner

=INDIRECT(ADRESSE(MAX((matrice<>"")*LIGNE(matrice));MAX((DECALER(matrice;MAX((matrice<>"")*LIGNE(matrice))-MIN(LIGNE(matrice));0;1)<>"")*COLONNE(matrice))))
en cellule F1matricielle
Ensuite je lui applique une condition :

Code : Tout sélectionner

=NB.SI(ET(F1>=1;<19);1;0)
==> très bien j'ai un nombre 1 , ensuite je suis bloqué, car pas moyen d'additionner si le prochain numéro est encore le même sorti , ou bien est inférieur à 19 = bloqué :/

je suis perpétuellement bloqué sur cette foutu incrémentation de 1, il faut qu'il incrémente de 1 à chaque boucle si la condition est vrai, car je sais que NB sera toujours 1

il me faut trouver la solution qui me calcul +1 en fonction de la valeur précédente.... si la cellule était à 1 , alors c'est 2
open office 4.1.7 , win10