Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Re Matis,Romain

EN effet Romain a du te donner la bonne solution car ce n'est pas un texte mais une valeur qui n'a pas besoin de guillemets.

Bravo Romain.
 
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!!
 
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
156
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
507
Réponses
7
Affichages
724
Réponses
3
Affichages
602
Réponses
5
Affichages
417
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…