comptage de cellule

matis3854

XLDnaute Nouveau
Bonjour à tous,

j'ai besoin d'aide svp.. depuis ce matin je cherche un code VBA afin de compter un nombre de cellule d'une colonne dont la valeur est comprise entre 5 et 10. Mais j'ai un petit problème lorsque je fait marcher ma macro qui doit compter les cellules dont la valeur est comprise entre 5 et 10, le MSGBOX me ressort 0 alors qu'il y en a plus de 0. Bref je vous met le code que j'utilise :
Sub cell_text_4()
Dim plage As Range
Dim cel As Range
Dim n As Long


Set plage = Application.Sheets(1).Range("K2:K8761")
n = 0
For Each cel In plage
If ((cel.Value > "5") And (cel.Value <= "10")) Then
n = n + 1 'compteur

End If
Next
MsgBox "Il y a " & n & " heures où la température est comprise entre 5 et 10 °C"
End Sub

De plus mon programme doit également compter les cellules (sur la mm colonne toujours) comprises entre -5 et 0, 0 et 5, 5 et 10... ect jusqu'à 35.

Mes divers macro donnent :

Sub cell_text_1()
Dim plage As Range
Dim cel As Range
Dim n As Long


Set plage = Application.Sheets(1).Range("K2:k8761")
n = 0
For Each cel In plage
If cel.Value <= "-5" Then
n = n + 1 'compteur
End If
Next
MsgBox "Il y a " & n & " heures où la température est inférieure à -5"
End Sub

Sub cell_text_2()
Dim plage As Range
Dim cel As Range
Dim n As Long


Set plage = Application.Sheets(1).Range("K2:k8761")
n = 0
For Each cel In plage
If (cel.Value > "-5" And cel.Value <= "0") Then
n = n + 1 'compteur
End If
Next
MsgBox "Il y a " & n & " heures où la température est comprise entre -5 et 0 °C"
End Sub

Sub cell_text_3()
Dim plage As Range
Dim cel As Range
Dim n As Long


Set plage = Application.Sheets(1).Range("K2:k8761")
n = 0
For Each cel In plage
If (cel.Value > "0" And cel.Value <= "5") Then
n = n + 1 'compteur
End If
Next
MsgBox "Il y a " & n & " heures où la température est comprise entre 0 et 5 °C"
End Sub

Sub cell_text_4()
Dim plage As Range
Dim cel As Range
Dim n As Long


Set plage = Application.Sheets(1).Range("K2:K8761")
n = 0
For Each cel In plage
If ((cel.Value > "5") And (cel.Value <= "10")) Then
n = n + 1 'compteur

End If
Next
MsgBox "Il y a " & n & " heures où la température est comprise entre 5 et 10 °C"
End Sub

Sub cell_text_5()
Dim plage As Range
Dim cel As Range
Dim n As Long


Set plage = Application.Sheets(1).Range("K2:k8761")
n = 0
For Each cel In plage
If (cel.Value > "10" And cel.Value <= "15") Then
n = n + 1 'compteur

End If
Next
MsgBox "Il y a " & n & " heures où la température est comprise entre 10 et 15 °C"
End Sub

Sub cell_text_6()
Dim plage As Range
Dim cel As Range
Dim n As Long


Set plage = Application.Sheets(1).Range("K2:k8761")
n = 0
For Each cel In plage
If (cel.Value > "15" And cel.Value <= "20") Then
n = n + 1 'compteur
End If
Next
MsgBox "Il y a " & n & " heures où la température est comprise entre 15 et 20 °C"
End Sub


Sub cell_text_7()
Dim plage As Range
Dim cel As Range
Dim n As Long


Set plage = Application.Sheets(1).Range("K2:k8761")
n = 0
For Each cel In plage
If (cel.Value > "20" And cel.Value <= "25") Then
n = n + 1 'compteur
End If
Next
MsgBox "Il y a " & n & " heures où la température est comprise entre 20 et 25 °C"
End Sub

Sub cell_text_8()
Dim plage As Range
Dim cel As Range
Dim n As Long


Set plage = Application.Sheets(1).Range("K2:k8761")
n = 0
For Each cel In plage
If (cel.Value > "25" And cel.Value <= "30") Then
n = n + 1 'compteur
End If
Next
MsgBox "Il y a " & n & " heures où la température est comprise entre 25 et 30 °C"
End Sub

Sub cell_text_9()
Dim plage As Range
Dim cel As Range
Dim n As Long


Set plage = Application.Sheets(1).Range("K2:k8761")
n = 0
For Each cel In plage
If (cel.Value > "30" And cel.Value <= "35") Then
n = n + 1 'compteur
End If
Next
MsgBox "Il y a " & n & " heures où la température est comprise entre 30 et 35 °C"
End Sub

Sub auto_open()
cell_text_9
cell_text_8
cell_text_7
cell_text_6
cell_text_5
cell_text_4
cell_text_3
cell_text_2
cell_text_1
End Sub



Merci à tous
 

MJ13

XLDnaute Barbatruc
Re : comptage de cellule

Bonjour JP

oui je suis en stage ingénieur, je dois construire un logiciel en VBA et j'en ai jms fait de ma vie (ni aucune autre forme de programmation d'ailleurs)...)

Matis, tu as de la chance XLD est fait pour aider ceux qui ont des problèmes sur Excel.

Le VBA c'est pas dure, si on veut s'en donné la peine, d'ailleurs le "for each" est souvent très utile en VBA.

Bonne continuation.
 

Statistiques des forums

Discussions
312 609
Messages
2 090 200
Membres
104 451
dernier inscrit
scp9990