XL 2010 créer des macros pour calculer le nombre total des noms qui se repetent

adkheir

XLDnaute Occasionnel
Bonjour le forum
icon_biggrin.png

je souhaite créer deux macros vba , une pour pour trouver le nombre du même nom qui s'est répété plus d'une fois et une autre pour trouver la quantité totale de ces noms du tableau excel en pièce jointe .
merci de votre aide
 

Pièces jointes

  • tri_par_nom et quantité.zip
    11.3 KB · Affichages: 34

moutchec

XLDnaute Occasionnel
Bonjour adkheir

Une macro suffit
Bonjour le forum,
bonjour PIERRE JEAN,
je pars de votre premier post dans le fil parce que c'est très proche de ce que je suis en train de chercher.
ex : puisque le nom 11 se répète 3 fois, pouvez-vous, s'il vous plait, ajouter un code qui énumère en colonne M les 3 dates correspondantes? idem évidemment pour tous les noms qui se répètent.
merci d'avance pour votre aide.
cordialement.
Moutchec.
 

adkheir

XLDnaute Occasionnel
Bonjour pierrejean,JP14 , le forum
En cherchant sur le net j'ai vu dans certains forums que mettre le nom et le prénom dans une seule cellule facilite grandement les tests , pouvez s'il vous plait vous modifier le code en prenant le nom et le prénom sur une seule cellule
merci a vous et bonne journée .
cdlt
 
Dernière édition:

jp14

XLDnaute Barbatruc
Bonjour

La macro utilise déjà la concaténation du nom et prénom pour remplir la collection:
Data1 = Trim(MonTab(Compt1, 1)) & Trim(MonTab(Compt1, 2)) & Trim(MonTab(Compt1, 3))

Modifier le programme consiste à supprimer le code " Trim(MonTab(Compt1, 2))" et modifier les indices. 3 devient 2...
Avec un fichier qui contient les donnes et une feuille montrant le résultat désiré, il est plus facile de faire de tester le code.




JP14
 
Dernière édition:

adkheir

XLDnaute Occasionnel
je m'excuse je n'ai pas pu m'exprimer clairement, le problème consiste a trouver le nombre de fois qu'un nom 1 et prénom 1 soient répétés dans le tableau de données ensuite additionner la quantité et l'affiché , pour la date je n'ai besoin que du mois et l'année.
merci
 

Pièces jointes

  • Capture.PNG
    Capture.PNG
    27.5 KB · Affichages: 17
Dernière édition:

jp14

XLDnaute Barbatruc
Bonjour
Il est plus simple de comprendre avec une image.
Ci joint le fichier avec un résultat identique a l'image pour les deux dernières colonnes. A modifier pour la colonne "nom père".

A tester

JP14
 

Pièces jointes

  • tri par nom4.xlsm
    47 KB · Affichages: 21

adkheir

XLDnaute Occasionnel
Bonjour
Un grand merci JP14 .
il me reste une toute petite chose a savoir que le format de la date sur la recap qui doit être MM/AAAA , ou tout simplement il faudrait supprimer les jours JJ de la recap pour que je puisse savoir quel nom a eu la plus grande quantité et le plus grand nombre de fois .
une fois de plus merci , très satisfait .
 

jp14

XLDnaute Barbatruc
Bonjour

Ci joint une solution
Code:
Private Sub UserForm_Initialize()
Dim I1 As Long
Dim Mois As String, Annee As String

Erreur
travdem
With ListBox1
.Clear
'.ColumnCount = 6
'.ColumnWidths = "100,100 ,100,50 ,20,50"
        .AddItem "Nom"
        .List(.ListCount - 1, 1) = "Prénom"
        .List(.ListCount - 1, 2) = "Nom p"
        .List(.ListCount - 1, 3) = "Date"
        .List(.ListCount - 1, 4) = "Nombre"
        .List(.ListCount - 1, 5) = "Quantité"


For I1 = LBound(Tbl, 1) To UBound(Tbl, 1)
    If Tbl(I1, 0) <> "" Then
    'If Tbl(I1, 4) > 1 Then
        .AddItem Tbl(I1, 0)
        .List(.ListCount - 1, 1) = Tbl(I1, 1)
        .List(.ListCount - 1, 2) = Tbl(I1, 2)
        'solution 1
        'Date1 = "'" & Month(Tbl(I1, 3)) & "/" & Year(Tbl(I1, 3))
        '.List(.ListCount - 1, 3) =Date1
        'solution 2
        Mois = Str(Month(Tbl(I1, 3)))
        Annee = Str(Year(Tbl(I1, 3)))
        .List(.ListCount - 1, 3) = Mois & "/" & Trim(Annee)
        .List(.ListCount - 1, 4) = Tbl(I1, 4)
        .List(.ListCount - 1, 5) = Tbl(I1, 5)
    'End If
    End If
Next I1
End With
End Sub

A tester

JP14
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 912
Membres
101 837
dernier inscrit
Ugo