comptage de cellule sur excel via une macro VBA

  • Initiateur de la discussion Initiateur de la discussion matis3854
  • Date de début Date de début

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 !

M

matis3854

Guest
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

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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
880
Réponses
3
Affichages
903
Réponses
7
Affichages
959
Réponses
3
Affichages
854
Retour