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
    mf.JPG
    96.9 KB · Affichages: 47
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
Tableau croisé dynamique...
upload_2017-7-10_12-15-56.png
 
super ça marche parfaitement (et rapide en plus) un grand merci j'aurais un dernier petit truc a te demander
papou-net m'a fait une macro qui marche très bien et je l'en remercie mais qui a un temps d’exécution relativement long (4 min en moyenne)
pourrais tu y jeter un œil
Code:
Sub test() 
With Feuil1
  .Range("J:K").ClearContents
  lg = 1
  For Each Cel In .Columns(1).SpecialCells(xlCellTypeConstants)
    If Cel <> Cel.Offset(1, 0) And .Columns(10).Find(Cel, LookIn:=xlValues, LookAt:=xlWhole) Is Nothing Then
      .Range("J" & lg) = Cel
      lg = lg + 1
    End If
  Next
  For Each Cel In .Columns(1).SpecialCells(xlCellTypeConstants)
    Set dte = .Columns(10).Find(Cel, LookIn:=xlValues, LookAt:=xlWhole)
    If Not dte Is Nothing Then
      If Cel.Offset(, 1) <> "" Then dte.Offset(, 1) = dte.Offset(, 1) + 1
    End If
  Next
End With
End Sub

un gros merci a toi
 
Bonjour jean123
Salut Papou-net

Je n'ai peur-etre pas tout compris mais je crois que ceci serait plus simple (fichier de Papou-net)
A tester:
Code:
Sub recap1()
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 = 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
 
RE

Bonsoir Jean123, Philippe, pierrejean,

Ton code paraît effectivement plus simple et fonctionne parfaitement dans l'état actuel du fichier. Mais, si l'on ajoute des dates dans la colonne A, l'affichage ne se fait pas ou avec des erreurs.

Cordialement.
 
désolé pour la réponse tardive
super ça marche nickel
par contre j'ai un petit souci qui vient de mes données:
les dates que j'ai en colonne A certaine sont au format date et d'autre format texte je pense (il faut que je clic 2 fois dans la cellule pour que la date soit au format date )
j'ai essayé plein de chose mais en vain je ne vois pas comment toutes les passer en date si ce n'est de cliquer cellule par cellule
du coup la macro bloque sur ça aussi pfff
là je bloque !
 
- 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
179
Réponses
10
Affichages
372
Réponses
1
Affichages
120
  • Question Question
Réponses
7
Affichages
256
Retour