comptage de cellule sur excel via une macro VBA

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.

Voilà j'espère que vous pourrez m'aider.

Merci
 

matis3854

XLDnaute Nouveau
Re : comptage de cellule sur excel via une macro VBA

Non c'est encore pire, en fait ma macro marche mais elle ne donne pas le bon résultats!! Ma colonne possède 8760 cellules à traiter, c'est peut etre une des raison pr laquelle mon résultat est faux!!
 

Papou-net

XLDnaute Barbatruc
Re : comptage de cellule sur excel via une macro VBA

Bonjour matis3854,

Tu stipules des chaines de caractères dans ta condition et non des valeurs numériques. Modifies donc cette ligne :

Code:
If ((cel.Value > "5") And (cel.Value <= "10")) Then

comme celà :

Code:
If ((cel.Value >=5) And (cel.Value <= 10)) Then

Par ailleurs, pour le 2ème point, je n'ai pas compris si tu voulais totaliser pour l'ensemble des conditions ou pour chacune séparément.

Espérant t'avoir aidé.

Cordialement.
 

matis3854

XLDnaute Nouveau
Re : comptage de cellule sur excel via une macro VBA

voilà mon truc excel pour vous montrer le fonctionnement qui ne fonctionne pas...lol
 

Pièces jointes

  • fichier meteo macon3.zip
    44.3 KB · Affichages: 63
  • fichier meteo macon3.zip
    44.3 KB · Affichages: 67
  • fichier meteo macon3.zip
    44.3 KB · Affichages: 53

mromain

XLDnaute Barbatruc
Re : comptage de cellule sur excel via une macro VBA

re,

voici une petite macro pour les convertir en nombre :
Code:
Sub toto()
Dim plage As Range
Dim cel As Range
Set plage = Application.Sheets(1).Range("K2:k8761")
For Each cel In plage
    If cel.Value <> "" Then cel.Value = CDbl(Replace(cel.Value, ".", ","))
Next cel
End Sub

ensuite, dans ton code, il faut que tu enlèves tous les guillemets dans tes If pour comparer des nombres, et non des chaines de caractères

a+
 

Papou-net

XLDnaute Barbatruc
Re : comptage de cellule sur excel via une macro VBA

Après étude de ton fichier, j'ai constaté ces anomalies :
- Tes nombres décimaux sont au format texte (alignement à gauche, les nombres entiers sont eux alignés à droite):
ex : 1.75 au lieu de 1,75
Ca peut être dû au choix de format des nombres dans ta version Excel.
- Toutes les cellules non renseignées de la colonne K sont considérées comme égales à 0, et sont donc comptabilisées par certaines macros.
Espérant avoir résolu ton problème.

Cordialement.
 

Statistiques des forums

Discussions
312 749
Messages
2 091 644
Membres
105 010
dernier inscrit
sam333