Macro : Contrôler la valeur d'une cellule

Bonjour,

Soit une feuille Calc sur laquelle sont effectués des tris aléatoires sur des numéros d'équipes devant se rencontrer, en colonnes. Les tris sont déclenchés par des macros enregistrées et affectées à des boutons.
Des formules vérifient les doublons (équipes qui se sont déjà rencontrées) et une cellule récapitule le total des doublons, en en tête.

Jusque là, je sais enregistrer des macros et les affecter à des boutons. Et, tant qu'il y a des doublons on relance le tri par l'appui sur le bouton concerné. Je souhaite automatiser cette procédure fastidieuse.

Il faut vérifier si le total des doublons est, ou non, égal à zéro. S'il est différent de zéro, il faudrait un sous-programme qui relance la macro de tri aléatoire concernée, jusqu'à ce que le total des doublons soit zéro.

Avec LibreOffice, je ne sais pas prendre une valeur d'une cellule pour la traiter en boucle (personne n'est parfait).

Si quelqu'un peut me donner la marche à suivre, il sera le bienvenu.

Merci par avance.

Ubuntu 12.04 - LibreOffice 3.5.3.2 et "Programmation OpenOffice.org et LibreOffice" de Bernard Marcelly et Laurent Godard ; mais j'ai du mal à m'y retrouver dans ce livre !

P.S. : Je connais bien le système des boucles, c'est l'approche avec la programmation LibreOffice que je n'ai pas, ou très peu, expérimentée.

Bonjour

Ci-joint un exemple comprenant 2 boutons et deux procédures.

Le bouton "tri aléatoire" ne trie pas : il se contente d'ôter 1 de la
cellule A1.

Le bouton "Automatiser" lance autant de fois la procédure ci-dessus
qu'il est nécessaire pour arriver à zéro dans A1.

En plus, j'ai ajouté une "sortie de secours" : un nombre d'itérations
maximal autorisé (arbitrairement fixé à 10 dans l'exemple).

Dans ce cas d'école il est bien sûr inutile puisqu'on est sûr d'arriver
à zéro. De ce que je comprends de ton programme... je ne suis pas
sûr et certain que cela soit le cas... il faut donc éviter de "boucler"
à l'infini.

http://nabble.documentfoundation.org/file/n3997779/Boucle.ods Boucle.ods

Cordialement
Pierre-Yves

Merci Pierre-Yves,

C'est exactement la procédure souhaitée, sauf que la cellule A1 reste désespérément à la valeur 7, après un clic sur le bouton "Automatiser" !

À partir de la gestion des macros, j'ai procédé à l'exécution au pas par pas, mais pas plus de résultat.

Si je clique sur le bouton "Tri aléatoire", la décrémentation ne se fait pas. Peut-être est-ce là le problème !

Y aurait-il incompatibilité entre nos deux versions de LibreOffice ?

Suite...

Michel ANDREU-2 wrote

Y aurait-il incompatibilité entre nos deux versions de LibreOffice ?

Deux hypothèses plus probables :
1. Le document est en lecture seule
2. Tu n'as pas autorisé l'exécution des macros (via Outils> Options> LO>
Sécurité)

Cordialement
Pierre-Yves

Suite...

Michel ANDREU-2 wrote

Y aurait-il incompatibilité entre nos deux versions de LibreOffice ?

Deux hypothèses plus probables :
1. Le document est en lecture seule
2. Tu n'as pas autorisé l'exécution des macros (via Outils> Options> LO>
Sécurité)

Cordialement
Pierre-Yves

1. Effectivement le document est en lecture seule
2. L'exécution des macros est bien autorisée.

Maintenant cela fonctionne bien. Après enregistrement et modification des permissions.

Merci pour ton aide et excuses-moi pour cette précipitation intempestive.

Michel