Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2840 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  [RESOLU] Open Office Basic : Problème for each

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU] Open Office Basic : Problème for each

n°1764151
slr56
Tout problème a sa solution.
Posté le 24-07-2008 à 11:37:35  profilanswer
 

Bonjour,
un petit coup de main s'il vous plait.
Lorsque j'exécute cette macro j'ai l'erreur suivante : ma_cellule est déjà définie. késako? :pfff:  

Code :
  1. ub Macro_test
  2. Dim somme1 as integer
  3. Dim somme0 as integer
  4. Dim somme2 as integer
  5. Dim ma_cellule as integer
  6. For each ma_cellule in Range("d2:d305" )
  7. if ma_cellule.value=1 then
  8. somme1=somme1+1
  9. endif
  10. if  ma_cellule.value =0 then
  11.  somme0=somme0+1
  12. endif
  13. if ma_cellule.value =2 then
  14.   somme2=somme2+1
  15. endif
  16. next
  17. msgbox "nombre de 0 : " & somme0
  18. msgbox "nombre de 1 : " & somme1
  19. msgbox "nombre de 2 : " & somme2
  20. End Sub


Message édité par slr56 le 24-07-2008 à 15:40:29
mood
Publicité
Posté le 24-07-2008 à 11:37:35  profilanswer
 

n°1764155
babasss
Posté le 24-07-2008 à 11:40:09  profilanswer
 

Ligne 6 => Dim ma_cellule As Range


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
n°1764248
slr56
Tout problème a sa solution.
Posté le 24-07-2008 à 14:09:04  profilanswer
 

babasss a écrit :

Ligne 6 => Dim ma_cellule As Range

 

finalement j'essaye avec Do While... Loop car je n'ai pas réussi avec la boucle For :

 
Code :
  1. sub Main
  2. Dim somme1 as integer
  3. Dim somme0 as integer
  4. Dim somme2 as integer
  5. Dim ligne
  6. Dim maFeuille As Object
  7. Dim monDoc As Object
  8. Dim mesFeuilles As Object
  9. monDoc=thisComponent
  10. mesFeuilles=monDoc.Sheets
  11. maFeuille=mesFeuilles.getByName("Feuille1" )
  12. ligne=maFeuille.getCellRangeByName("d5" ).value
  13. Do While ligne<305
  14. if ligne=1 then
  15. somme1=somme1+1
  16.  else if ligne=0 then
  17.   somme0=somme0+1
  18.   else if ligne=2 then
  19.   somme2=somme2+1
  20.   endif
  21.  endif
  22. endif
  23. ligne=ligne+1
  24. Loop
  25. msgbox "nombre de 0 : " & somme0
  26. msgbox "nombre de 1 : " & somme1
  27. msgbox "nombre de 2 : " & somme2
  28. End Sub
 

le problème là est que je ne vois pas comment incrémenter la cellule pour obtenir la valeur de d5 puis d6... jusqu'à d305. Il me faut "déconcaténer" la lettre de la valeur numérique pour pouvoir faire +1 à chaque fois.


Message édité par slr56 le 24-07-2008 à 15:00:13
n°1764328
slr56
Tout problème a sa solution.
Posté le 24-07-2008 à 15:40:13  profilanswer
 

Bon finalement, j'ai trouvé la solution avec une fonction toute faite dans calc. C'est la fonction NB.SI


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  [RESOLU] Open Office Basic : Problème for each

 

Sujets relatifs
[Résolu] Obtenir la description (nom) d'un executable[Hibernate] pattern open session in view / pattern command
probleme envoi mail avec MIME::Liteproblème de requête - FREETEXTTABLE (SQL serveur)
Petit probleme de syntaxe pour utiliser du javascript en php[résolu] fgets et imlib_load_image
[VBA] Explications des références (librairies) -> RESOLU[Oracle] Problème trigger auto increment
Probleme : lancer une appli java en commande shell[résolu] Boucle fichier dans un repertoire
Plus de sujets relatifs à : [RESOLU] Open Office Basic : Problème for each


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR