[Résolu][Calc] Fonction GoTo, Else, Then, etc..

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Lanber66
NéOOphyte
NéOOphyte
Messages : 10
Inscription : 18 nov. 2024 12:48

[Résolu][Calc] Fonction GoTo, Else, Then, etc..

Message par Lanber66 »

Bonjour à tous. Venant du forum tableur Calc je pose ma question ici. Je voudrai faire une programmation sur une feuille de Calc. C'est à dire : Dans une cellule (A4) j'ai un nombre (100), dans une autre cellule (B9) j'écris un Test du genre "=SI(A4=100). Et suivant le résultat de ce test, si c'est vrai je vais (par une fonction ou macro genre GoTO) dans une cellule faire un calcul et, si c'est faux, je vais dans une autre cellule faire un autre calcul. On me dit qu'il n'existe pas de fonction GoTo dans Calc et qu'il faut que je passe par une Macro. Seulement je ne sais pas faire une Macro. Quelqu'un peut-il m'aider à créer une Macro de ce genre ? Avec force détails, SVP, car, à 78 ans, je ne maitrise pas encore très bien LO que j'ai en version 24.8.1 et que je suis sur Windows 11. :marto:
Dernière modification par Oukcha le 20 nov. 2024 05:01, modifié 1 fois.
Raison : Balisage dans le premier message
Libre Office 24.8.1 sur Windows 11
Avatar de l’utilisateur
yclik
HédOOniste
HédOOniste
Messages : 1754
Inscription : 15 déc. 2010 08:33

Re: [Calc] Fonction GoTo, Else, Then, etc..

Message par yclik »

Bonjour
Lanber66 a écrit : 19 nov. 2024 13:46 Et suivant le résultat de ce test, si c'est vrai je vais (par une fonction ou macro genre GoTO) dans une cellule faire un calcul
Quel est ce calcul ?
Lanber66 a écrit : 19 nov. 2024 13:46 si c'est faux, je vais dans une autre cellule faire un autre calcul.
Quel est cet autre calcul ?
Cela pourrait se faire dans une formule exemple SI(A4=100; ce calcul ; cet autre calcul )
C'est à dire
Si A4 =100
Alors ce calcul
Sinon cet autre calcul

Il faudrait un exemple de classeur plus précis pour montrer ces deux calculs
OpenOffice 4.1.14 sous Windows 10
Lanber66
NéOOphyte
NéOOphyte
Messages : 10
Inscription : 18 nov. 2024 12:48

Re: [Calc] Fonction GoTo, Else, Then, etc..

Message par Lanber66 »

Bonjour yclik. Non, peut importe les calculs ! Ce que je veux c'est de partir de cette cellule (de résultat) et aller dans une autre cellule (x) ou une autre (y) suivant le résultat du test. Ce que je veux faire c'est de la programmation (en Basic, je crois) avec des GoTo, If, Then et Else afin d'aller à un endroit de la feuille de calcul ou à un autre suivant les résultats d'un test. Ne pas ce focaliser sur les calculs à faire suivant les résultats des tests. J'ai déjà fait de la programmation comme cela sur une calculette CASIO Graph 100 mais je veux pouvoir le réaliser sur une feuille Calc. Alors, pour être encore plus précis : j'ai crée un programme sur CASIO Graph 100 pour calculer les Jours Julien depuis la date d'origine (le 1er Janvier -4712 jusqu'à aujourd'hui et même jusqu'en 2500 !!). Avec le logiciel de l'IMCCE (Astronomie : éphémérides, bureau des longitudes, etc...) on a ces calculs tout fait ! Mais j'ai voulu le faire de moi-même. Alors que leur logiciel ne tient pas compte des possibilités de demander des Jours Julien pour des dates incorrectes (genre 30 Février ou 45 Janvier) le mien trouve ces dates incongrues et me sort un résultat adéquat (genre : cette date n'existe pas ou encore il me donne le Jour Julien de la date correspondant au 30 Février qui est le 1 Mars ou du 45 Janvier qui est le 15 Février). Donc, mon programme fonctionne à merveille !! Mais sur ma CASIO ! Ce que je veux faire c'est le faire travailler sur une feuille Calc. Capito ? :super: J'espère que je ne suis pas trop long !!
Libre Office 24.8.1 sur Windows 11
Avatar de l’utilisateur
yclik
HédOOniste
HédOOniste
Messages : 1754
Inscription : 15 déc. 2010 08:33

Re: [Calc] Fonction GoTo, Else, Then, etc..

Message par yclik »

Bonjour
une proposition dans ce classeur
selection_cellule.ods
Le déclenchement de la macro se fait par une formule en D6

Code : Tout sélectionner

=TESTSELECTION(C6)
qui appelle une Function

Code : Tout sélectionner

function TestSelection (arg1 as double)
If arg1 = 100 then call maSelectionB4 else maSelectionB10
end Function
et pour aller sur les cellules

Code : Tout sélectionner

Sub maSelectionB4
dim oDoc As Object
Dim oSheets as object
Dim oSheet As Object
Dim oCell as Object
	oDoc = ThisComponent
	oSheet = oDoc.Sheets.getByName("Feuille1")
	
		oCell = oSheet.getCellRangeByName("B4")
		oDoc.CurrentController.select(oCell)
	
	
end sub

Sub maSelectionB10
dim oDoc As Object
Dim oSheets as object
Dim oSheet As Object
Dim oCell as Object
	oDoc = ThisComponent
	oSheet = oDoc.Sheets.getByName("Feuille1")
	
		oCell = oSheet.getCellRangeByName("B10")
		oDoc.CurrentController.select(oCell)
			
end sub
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 4.1.14 sous Windows 10
Lanber66
NéOOphyte
NéOOphyte
Messages : 10
Inscription : 18 nov. 2024 12:48

[Résolu]Re: [Calc] Fonction GoTo, Else, Then, etc..

Message par Lanber66 »

Bon bah tant pis Merci à yclik et à tous les autres qui se sont défoncés pour moi mais j'abandonne !! Je suis déjà suffisamment content d'avoir réalisé mon programme sur ma CASIO mais poursuivre sur une feuille Calc me semble un peu beaucoup trop compliqué pour moi !! Vous êtes tous supers sympas. Ah, j'espère avoir clos le sujet en mettant les balises ?
Libre Office 24.8.1 sur Windows 11
Avatar de l’utilisateur
OOo - Ekel
SuppOOrter
SuppOOrter
Messages : 1298
Inscription : 10 nov. 2006 15:04
Localisation : F-Oise

Re: [Calc] Fonction GoTo, Else, Then, etc..

Message par OOo - Ekel »

Bonsoir,

Cela ne va pas faire avancer la problématique, mais serait-il possible d'écrire de manière plus lisible ?

Proposer ces pavés de texte... sans aération... n'est pas très convivial à lire.

Cordialement.
Ekel

KUbuntu Noble Numbat (24.04) : LibreOffice 24.8.0.3 Officielle
AMD Ryzen 5 5600G
AMD Radeon RX 6650 XT
22" + 22"
16 Go
____________________
Pour les règles du jeu.
Pour marquer Résolu.
Pour joindre un fichier.
Jeff
GourOOu
GourOOu
Messages : 9807
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: [Résolu][Calc] Fonction GoTo, Else, Then, etc..

Message par Jeff »

Bonjour,
Lanber66 a écrit : 19 nov. 2024 15:14 calculer les Jours Julien depuis la date d'origine [...] jusqu'à aujourd'hui
C'est peut-être cette question que tu aurais dû poser... :?:

Si tel est le cas, sur quoi se baser ?

J'ai trouvé cette page sur Wikipedia :
https://fr.m.wikipedia.org/wiki/Formule ... A9gorienne

Si c'est cela que tu cherches, ça me semble adaptable hors macro
(Donc poster un nouveau sujet en section Tableur avec le titre que je te suggère)

A +
Lanber66
NéOOphyte
NéOOphyte
Messages : 10
Inscription : 18 nov. 2024 12:48

Re: [Résolu][Calc] Fonction GoTo, Else, Then, etc..

Message par Lanber66 »

Je réponds à Jeff. Non, non, ce n'est pas ça que je cherche ! Ça, je l'ai déjà depuis longtemps ! Je l'ai programmé sur ma CASIO Graph 100 il y a près de 20 ans, quand je travaillais encore à l'Observatoire Astronomique du Pic du Midi ! J'ai même construit l'organigramme de ce programme sur une feuille Calc ! Et même, toujours sur une feuille Calc, j'ai rentré ligne par ligne, colonne par colonne, feuille par feuille, tous les Jours Julien, du 1er Janvier -4712 jusqu'au 31 Décembre 2500 !! C'est pourquoi, je peux affirmer que le logiciel de l'IMCCE n'est pas au top et qu'il ne répond pas toujours idéalement à une date (inhabituelle, genre 32 Février 1871 par exemple) alors que mon programme prévoit TOUS les cas de dates normales et anormales !! Bonsoir à toutes et tous. Non, ce que je voulais faire (mais ça me semble trop compliqué) c'était de faire ce même programme que j'ai dans ma CASIO, le faire sur une feuille Calc. Mais bon, tant pis, ça me semble trop compliqué et donc je renonce ! Merci quand même à tous.
Libre Office 24.8.1 sur Windows 11
Avatar de l’utilisateur
jeanmi2403
SuppOOrter
SuppOOrter
Messages : 1471
Inscription : 18 janv. 2008 09:02
Localisation : Val de Marne

Re: [Résolu][Calc] Fonction GoTo, Else, Then, etc..

Message par jeanmi2403 »

Bonsoir,
Je ne comprends pas bien ce que veut dire "je vais dans une autre cellule" ?
Il faudrait définir ce qui relève du programme, et ce qui relève de l'affichage (qui peut être réalisé avec calc)
Comme toujours en programmation :
  • Quelles sont les entrées ?
  • Quel traitement leur appliquer
  • Quels sont les résultats et les sorties (affichages)
Éventuellement tu peux nous envoyer l'organigramme de ton programme Casio.
Cordialement,
Jean-Michel
LibO 24.2 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 24.8 sur OpenSuse & Linux MX
Lanber66
NéOOphyte
NéOOphyte
Messages : 10
Inscription : 18 nov. 2024 12:48

Re: [Résolu][Calc] Fonction GoTo, Else, Then, etc..

Message par Lanber66 »

Bonjour jeanmi2403. Comme demandé, voici mon organigramme qui organise les commandes de mon programme qui calcule les JJ depuis l'origine (1er Janvier -4712 jusqu'en l'an 2500 !! Attention !!! Hein !!! C'est MON organigramme !! C'est MON programme !!! Heu....j'y tiens !! Je ne l'ai pas déposé !!! :twisted:
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office 24.8.1 sur Windows 11