fréquences de classes sous vba-excel

fréquences de classes sous vba-excel - VB/VBA/VBS - Programmation

Marsh Posté le 07-04-2006 à 15:07:52    

voilà j'ai une liste de chiffres et j'ai mis en place 4 classes en r2 r3 r4 r5, les fréquences de classes que je veux seront donc en s2 s3 s4 s5 (en face quoi...).
Les classes sont les suivantes
+ de 1000
500 --> 1000
250 --> 499
0 --> 249
 
Je veux donc que les chiffres de ma liste compris dans telle ou telle classe soient comptabilisés.
Ex :
soit une liste : 520 230  549   2   56  87   420
mes classes donneront
s2 = 0
s3 = 2
s4 = 0
s5 = 4
mon programme qui ne marche pas :  

Sub comptage4()
Range("f2" ).Select
Range("t2:u15" ).ClearContents
Do While UCase(ActiveCell) <> ""
cpt = 0
    Do While UCase(Range("t2" ).Offset(cpt, 0)) <> "" And UCase(Range("t2" ).Offset(cpt, 0)) <> UCase(ActiveCell)
    cpt = cpt + 1
    Loop
    If Range("t2" ).Offset(cpt, 0) = "" Then
       Range("t2" ).Offset(cpt, 0) = ActiveCell.Value
    End If
    Selection.Offset(1, 0).Select
Loop
Range("t2" ).Select
 
Do While UCase(ActiveCell) <> ""
  cpt = 0
  Do While UCase(Range("f2" ).Offset(cpt, 0)) <> ""
    If UCase(Range("f2" ).Offset(cpt, 0)) = UCase(ActiveCell) Then
      Selection.Offset(0, 1) = 1 + Selection.Offset(0, 1)
    End If
   cpt = cpt + 1
   Loop
   Selection.Offset(1, 0).Select
   Loop
End Sub


merci d'avance !!


Message édité par rip324 le 07-04-2006 à 15:44:12
Reply

Marsh Posté le 07-04-2006 à 15:07:52   

Reply

Marsh Posté le 07-04-2006 à 15:28:06    

Y a eu un pb sur mon message les smyley ont remplacé certaines parenthèses ...merci de répondre qd même
 
j'ai une grosse modif', j'ai réfléchi lol... mais ça marche tjs pas.. mais bon y a de bonnes bases!!  
 

Sub essai2()
Range("o2" ).Select
 
Do While ActiveCell <> ""
  cpt = 0
  Do While Range("o2" ).Offset(cpt, 0) <> ""
 
If ActiveCell >= 1000 Then
   Range("s2" ) = ActiveCell.Offset(0, 1) + Range("s2" )
   Else
   If ActiveCell < 1000 And ActiveCell >= 500 Then
   Range("s3" ) = ActiveCell.Offset(0, 1) + Range("s3" )
   Else
   If ActiveCell > 250 And ActiveCell < 500 Then
   Range("s4" ) = ActiveCell.Offset(0, 1) + Range("s4" )
   Else
   Range("s5" ) = ActiveCell.Offset(0, 1) + Range("s5" )
   
   End If
 
   End If
End If
cpt = cpt + 1
Loop
   Selection.Offset(1, 0).Select
Loop
End Sub


Message édité par rip324 le 07-04-2006 à 16:11:00
Reply

Marsh Posté le 07-04-2006 à 15:42:05    

Tu peux éditer ton message et mettre ton code dans une balise dédiée à l'affichage du code [fixed] ou [cpp]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed