PROGRAMMATION BASIC. Macro débutant. Loto. Partie 3/10
Accès direct : Loto 1, Loto 2, Loto 3, Loto 4, Loto 5, Loto 6, Loto 7, Loto 8, Loto 9, Loto 10,
Ligne suivante:
oDocument=ThisComponent
Le fichier d'aide dit que ThisComponentadresse le composant actif de manière à ce que ses propriétés puissent être lues et définies. Pas clair. Disons dans notre cas qu'il s'agit du document actif sur lequel nous travaillons.
Ensuite:
oSheet=oDocument.Sheets.getByName("Feuille1")
oSheet est la Feuille1 des feuilles du document actif.
Voila l'indispensable pour débuter. Passons enfin à notre programme de loto.
En début de programme, ajoutons la ligne:
Dim NumBoule as Integer
Nous déclarons une variable nommée NumBoule dont les valeurs peuvent varier (as Integer) de -32768 à +32767, au format nombre entier. Ce qui dans notre cas est plus que suffisant. Si ces limites étaient dépassèes des erreurs seraient générées. Il existe bien d'autres types de formats de variables.
Attention. Les valeurs numériques utilisent le point décimal et non la virgule, même si l'affichage dans le tableur se fait avec des virgules.
Pour trouver un nombre aléatoire, nous nous servons de la fonction Rnd. Cette fonction génère un nombre aléatoire entre 0 et 1, comme par ex: 0,0048 ou 0,78945. Donc on multiplie par 49, on extrait la partie entière avec la fonction Int. Les résultats vont donc varier entre 0 et 48. On ajoute 1 au résultat pour faire varier de 1 à 49. Soit la ligne de macro :
NumBoule=Int(49*Rnd)+1
Cette formule est strictement identique à la formule =ENT(ALEA()*49)+1 que vous auriez écrit dans une cellule de la feuille de calcul. Ensuite écrivons :
oCell=oSheet.getCellByPosition(0,0)
On sélectionne une cellule désignée par (Colonne, Ligne). Ici A1, puis :
oCell.setValue(NumBoule)
On écrit la valeur NumBoule dans la cellule active.
Voici donc notre premier programme exploitable mais avec beaucoup de défauts.
Nota: Certains navigateurs (IE6) autorisent la sélection et le copier / coller de la zone des macros sans pour autant recopier les numéros de ligne. Un petit plus pour certains.
Loto001
Si vous avez bien suivi, vous n'avez aucune difficulté à comprendre ce listing. Ici on se limite à 3 numéros aléatoires qui seront affichés dans les cellules de A1 à C1. On peut bien entendu continuer, mais si on regarde bien, c'est beaucoup d'effort pour pas grand chose, puisqu'une simple formule =ENT(ALEA()*49)+1 dans les cellules concernées aurait suffit.
Notez les lignes 9 et 13. Les symboles apostrophe (équivalent de REM) font que ces lignes ne servent à rien, sauf à aérer le listing.
Vous pouvez demander l'aide par la touche F1. Si votre curseur se trouve sur un mot-clé (Dim par exemple), l'aide ira directement au mot-clé concerné.
Ce site n'est plus mis à jour. Merci aux nombreux visiteurs depuis 2003. Consultez le Wiki LibreOffice. |
|||||
Le tableur Calc par l'exemple : christianwtd@free.fr
|
. | Site optimisé pour Firefox |
Dernière modification : 29/08/2010 à 18h48
Déjà plusieurs visites sur ce site depuis quelque temps (au moins vous et moi) |
| Compteur non certifié |