Rechercher : dans
Par :

Compteur sous OpenOffice 1.1.4

Dernière réponse le 20 jui 2005 à 11:50:38 Arno59, le 16 jui 2005 à 13:49:13 
 Signaler ce message aux modérateurs

Bonjour,

Je souhaiterais totaliser le nb de chiffres sortants de 1 à 50:
ce tableau est réalisé sous le prog calc de OpenOffice

Boule 1 - Boule 2 - Boule 3 - Boule 4 - Boule 5

01 11 12 23 42
35 36 42 46 49
04 05 23 25 28
06 08 14 15 45
04 08 10 18 21
06 07 32 37 47
03 08 11 17 50
02 24 31 48 50
06 07 13 28 47
12 17 31 32 40
07 12 21 26 44
03 09 35 39 42
03 10 13 24 47
06 28 31 38 42
07 11 25 31 50

Sélection de colonne, chiffre de 1 à 50 puis les afficher des un endroit.
Comment Créer un compteur ?

Configuration: PC 1 : 
<br><br>carte mère: msi.com :  KM3M-V
<br><br>Processeur : AMD XP 2400 +
<br><br>Disque Dur 1 : ExcelStore : 80 Go
<br>sous Linux Mandrake 10.1
<br>Disque dur 2 : 10 Go Win XP Pro
<br><br>Carte graphique :
<br><br>Carte son
<br><br>
<br><br>PC 2 :  (ancêtre) Windows 98SE
<br><br>Carte mère : 
<br><br>Processeur AMD 300 MHZ
<br><br>Disque dur : Maxtor  : 850 Mo
<br><br>Disque Dur : Seagate : 2 Go
<br><br>Carte graphique :
<br><br>Carte son :
<br><br>

1

Arno59, le 18 jui 2005 à 17:01:44

Bonjour,

Y-a-t-il quelqu'un qui aurait la résolution de ce problème ?

Répondre à Arno59

2

lami20j, le 18 jui 2005 à 19:01:50

Salut,

donc tu as 5 colonnes et x lignes

Fait un truc de genre.

nb=0
For r=1 to x 'admettons que les chiffres commencent à la ligne 2 (le 1er index c'est 0)
   For c=0 to 4 (on commence à la colonne 1, l'index 0)
     if getCellByPosition(r,c).value=17 then
       nb=nb+1 'on compte le numéro 17
     end if
   Next c
Next r

Msgbox nb

Répondre à lami20j

3

Arno59, le 19 jui 2005 à 15:53:16

Merci de ton aide,

Ou copier cet algo ?

Répondre à Arno59

4

lami20j, le 19 jui 2005 à 19:35:30

Salut,

Tu ouvres ton fichier (le module fonctionne si tu commence à la ligne 2 et tu n'as que 5 colonnes et 15 lignes - à toi de modifier les valeurs si t'en as plusieures lignes et colonnes.

1. Pour inserer le code tu vas dans Outils/Macros/Macro

2. Tu verras une boîte de dialog qui s'ouvre.

3. Dans la zone Nom de la macro tu donnes un nom à ta macro.

4. Après dans l'arborescence que tu vois à gauche tu verras ton fichier (s'il n'as pas encore un nom - donc il n'est pas enregisré - tu verras Sans nom1).

4.1 Tu sélectionnes(un clic sur lui) ton fichier.

5. Tu fait clic sur le bouton Nouveau que tu vois à droite.

6. Il s'ouvrira un fenêtre dans laquelle tu verras ta macro que tu as crée

Sub ta_macro

End Sub

7. A l'intérieur tu vas copier le code que tu vois plus bas.

8. Pour l'éxécuter tu doit faire clic sur la 2ème icône en partant de gauche (elle a une fléche orientée vers le bas). De toute façon si tu tient un peut le pointeur de la souris tu verras l'infobulle "Exécuter"


	Dim myCalc As Object, mySheets As Object
	Dim mySheet As Object

	myCalc=thisComponent
	mySheets=mycalc.Sheets
	mySheet=mySheets.getByName("Feuille1") 
	
	nb=0
	For x=0 to 4 'les colonnes
   	    For y=0 to 14 'les lignes
     		 If mysheet.getCellByPosition(x,y).string=17 then
       		      nb=nb+1 'on compte le numéro 17       
     		  End If
   	    Next y   
	Next x
	msgbox "Le numéro 17 est sortie " & nb & " fois."

Répondre à lami20j

5

lami20j, le 19 jui 2005 à 20:12:19

Re,

Tu n'as pas vraiment besoin d'un module OOoBasic.
Tu peux tu simplement utilisé la fonction NB.SI.

dans une cellule tu écrit

=NB.SI(A2:E16;"17")
si le format de cellules et texte


ou
=NB.SI(A2:E16;17)

si le format et nombre, mais dans ce cas tu dois utiliser un format personnalisé pour avoir 01 dans une cellule, à toi de voir

La plage A2:E16 tu doit la remplacée avec ta plage.

Répondre à lami20j

6

 Arno59, le 20 jui 2005 à 11:50:38

Bonjour,

Merci pour les 2 fonctions, elles fonctionnent correctement.

Mon problème est résolu, j'ai choisi la méthode :

=NB.SI(A2:E16;"17")

Et encore merci

Répondre à Arno59