comptage de cellule sur excel via une macro VBA

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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.
 
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+
 
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.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
148
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
503
Réponses
7
Affichages
722
Réponses
3
Affichages
599
Réponses
5
Affichages
410
Réponses
2
Affichages
718
Retour