!!! Dénombreuement à virgule !!!

  • Initiateur de la discussion Initiateur de la discussion fabrice
  • 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 !

F

fabrice

Guest
Bonjour tout le monde

J'espère que vous n'avez pas fait d'abus de chocolat ce week-end!!!

Bon, plus sérieusement, j'ai un problème.
Je cherche à dénombrer des données. J'ai dans une colonne des nombres qui vont de -10 à +30 mais avec des virgules. (ex 10,4).
Je cherche à savoir combien de fois j'ai 10, combien de fois j'ai 11, ...

Le probleme est quà chaque tentative, il ne tenait pas compte des virgules.

Avez vous une solution???

Merci de votre réponse,
FAb
 
Salut,
regarde dans l'aide les fonctions 'int' et éventuellement 'abs'.

Si A1 contient 10.4 la fonction int(range("A1")) retourne 10

Si tu ne veux pas non plus tenir compte du signe :
si A1 contient -10.4, abs(int(range("A1"))) retourne 10
A plus.
 
Salut Jean

merci de ta réponse. Le probleme est que je ne peux pas rajouter de colonne. J'ai la colonne avec les données et celle dans laquelle je dois dénombrer. Je ne peux donc pas faire d'étape!!!

Merci FAb
 
Salut,
essaie ça, (vite fait, mal fait ! je suis plutôt programmeur
et mon code va sans doute faire hurler les puristes VBA)

Sub Macro1()
Dim IA As Integer, IC As Integer, Tot As Integer
IC = 3
While Cells(IC, 3).Value <> ""
Tot = 0
IA = 2
While Cells(IA, 1).Value <> ""
If Int(Cells(IA, 1)) = Cells(IC, 3) Then Tot = Tot + 1
IA = IA + 1
Wend
Cells(IC, 4) = Tot
IC = IC + 1
Wend
End Sub

A plus.
 
Salut,
Désolé pour mon post précédent: trop bâclé et en plus faux: s'il y a des nombres négatifs, il vaut sans doute mieux employer Fix() et non int()
Voici donc ma modeste contribution:

Sub macro1()
Dim Plage As Range
Dim Nbre As Range
Set Nbre = Range("C3")
While Nbre <> ""
Nbre.Offset(0, 1) = 0
Set Plage = Range("A2")
While Plage <> ""
Plage.Offset(0, 1) = Fix(Plage)
If Fix(Plage.Value) = Nbre Then
Nbre.Offset(0, 1) = Nbre.Offset(0, 1) + 1
End If
Set Plage = Plage.Offset(1, 0)
Wend
Set Nbre = Nbre.Offset(1, 0)
Wend
End Sub

A plus.
 
Salut jean

C'est exactement ca.
Juste une petite question, est-il possible de ne pas faire appartaitre l'étape d'arrondi. Autrement dit, peut-on la rendre invisilbe pour l'utilisateur??? (Car je suis un peu juste au niveau du nombre de colonne).

A part ca, tout va bien

MErci
FAb
 
- 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

Réponses
1
Affichages
422
Réponses
16
Affichages
627
Retour