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

XL 2010 compter masculin feminin

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

jean123

XLDnaute Occasionnel
bonjour à tous, j'ai un tableau de 50 000 lignes environ et qui grossie au fur et à mesure

dans ce tableau j'ai des dates colonne A et une colonne (D) sexe "m" et "f"

j'aimerais si possible en vba pouvoir compter le nombre de "m" pour chaque date et le nombre de "f" pour chaque date

un grand merci pour votre aide
 

Pièces jointes

  • mf.JPG
    96.9 KB · Affichages: 47
Re
Salut Papou-net

A tester:
Code:
Sub recap1()
Feuil1.Columns("D:E").ClearContents
Set monDico = CreateObject("Scripting.Dictionary")
tablo = Range("A1:B" & Range("A" & Rows.Count).End(xlUp).Row)
For n = LBound(tablo, 1) To UBound(tablo, 1)
  x = CDbl(CDate(tablo(n, 1)))
  If tablo(n, 2) <> "" Then monDico(x) = monDico(x) + 1
Next
a = monDico.keys
b = monDico.items
Range("D1").Resize(UBound(a) + 1) = Application.Transpose(a)
Range("E1").Resize(UBound(b) + 1) = Application.Transpose(b)

End Sub
 
en fait les cellule en jaune n'apparaissent pas si la valeur est 0 seul les cellules ou pour la date la valeur est supérieur a zéro apparaissent en résultat dans les colonnes D et E
 

Pièces jointes

  • 123456.JPG
    41.3 KB · Affichages: 40
Bonsoir jean123,
Salut pierrejean,

Il suffit peut-être de modifier la ligne comme ceci:

Sub Recap()
Dim monDico As Object
Dim c As Range, Cle As Integer
Feuil1.Columns("D:E").ClearContents
Set monDico = CreateObject("Scripting.Dictionary")
With Feuil1
For Each c In .Columns(1).SpecialCells(xlCellTypeConstants)
If Not monDico.exists(c.Value) Then monDico.Add c.Value, CLng(c.Value)
Next c
.Range("D1").Resize(monDico.Count, 1) = Application.Transpose(monDico.items)
For Each c In .Columns(4).SpecialCells(xlCellTypeConstants)
i = 0
For Each c1 In .Columns().SpecialCells(xlCellTypeConstants)
If c1 = c And c1.Offset(, 1) <> "" Then i = i + 1
Next
c.Offset(, 1) = i
Next
End With
Set monDico = Nothing
End Sub
Cordialement.
 
Re

Salut Papou-net

Code:
Sub recap2()
Feuil1.Columns("D:E").ClearContents
Set monDico = CreateObject("Scripting.Dictionary")
tablo = Range("A1:B" & Range("A" & Rows.Count).End(xlUp).Row)
For n = LBound(tablo, 1) To UBound(tablo, 1)
 If tablo(n, 1) <> "" Then
     x = CDbl(CDate(tablo(n, 1)))
     If tablo(n, 2) <> "" Then
         monDico(x) = monDico(x) + 1
     Else
         monDico(x) = 0
     End If
  End If
Next
a = monDico.keys
b = monDico.items
Range("D1").Resize(UBound(a) + 1) = Application.Transpose(a)
Range("E1").Resize(UBound(b) + 1) = Application.Transpose(b)
End Sub
 
un gros merci a toi pierrejean ça marche nickel
j'aurai une toute dernière demande dans le même principe mais a la différence je voudrais faire la somme des valeurs au lieux de de compter les valeurs
et sur une autre macro pour chaque date en colonne I de la feuille 1 je souhaiterai copier et coller en feuille 2 a partir de la colonne L les données ce trouvant de la colonne J a V de la feuille 1 associé au date correspondante sur la feuille 2
 

Pièces jointes

c'est presque ça ;-)
en gros sur une première macro les somme que tu reporte en feuille 2 il faudrait quelle soit en feuille 1

sur la feuille 2 j'ai une liste de date en colonne A l'idée serait qu'avec une macro indépendamment du calcule de somme je puisse copier les données que j'ai en feuille 1 a partir de la colonne I et les rattacher au date de la colonne A de la feuille 2 (qui ne sont pas forcement dans le même ordre) il y a deux macro dissocié
 
- 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
5
Affichages
420
Réponses
11
Affichages
180
Réponses
10
Affichages
372
Réponses
1
Affichages
120
  • Question Question
Réponses
7
Affichages
256
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…