Compteur sous OpenOffice 1.1.4

Résolu
Arno59 Messages postés 4603 Date d'inscription   Statut Contributeur Dernière intervention   -  
Arno59 Messages postés 4603 Date d'inscription   Statut Contributeur Dernière intervention   -
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>

5 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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.
    4
  2. Arno59 Messages postés 4603 Date d'inscription   Statut Contributeur Dernière intervention   499
     
    Bonjour,

    Y-a-t-il quelqu'un qui aurait la résolution de ce problème ?
    0
  3. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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
    0
  4. Arno59 Messages postés 4603 Date d'inscription   Statut Contributeur Dernière intervention   499
     
    Merci de ton aide,

    Ou copier cet algo ?
    0
    1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      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."
      
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Arno59 Messages postés 4603 Date d'inscription   Statut Contributeur Dernière intervention   499
     
    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
    0