Compter des occurences dans des colonnes [Fermé]

Signaler
-
 vieuxray -
Bonsoir a tous, forum bonsoir


sous excel 2007 - vba

Je souhaiterai svp faire un comptage du nombre occurences sur des colonnes

j'ai trouver du code mais je n'arrive pas a mes fins.

je vous remercie pour votre aide et vous souhaite la bonne soirée.

ci joint lien menant au fichier avec des explications.

http://www.cjoint.com/c/GBCsDNBJLEz

Cdlt Raymond

8 réponses

Messages postés
9550
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
1 septembre 2020
1 892
Les mêmes formules adaptées à la nouvelle structure
http://www.cjoint.com/c/GCbpiTY4iEM

Cdlmnt
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 61078 internautes nous ont dit merci ce mois-ci

Messages postés
9550
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
1 septembre 2020
1 892
Bonjour

Tu n'as pas vraiment besoin de macro pour faire ça
F21=MODE(F1:F20)
G21=NB.SI(F1:F20;F21)
MFC sur la plage F1:L20 (que tu sélectionnes) avec comme formule
=(F1=F$21) puis motif etc ...

Cdlmnt
Messages postés
9550
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
1 septembre 2020
1 892
Pour la MFC
1. tu sélectionnes toute la plage F1:L20
2. Dans l'onglet "ACCUEIL" cliquez sur le bouton "Mise en forme conditionnelle"
dans le groupe "Style". Puis "Nouvelle règle"
Dans la fenêtre: "utiliser une formule pour déterminer..."
=(F1=F$21) (attention au "$")
puis motif ....

en version excel 2003, ça donne ça
http://www.cjoint.com/c/GCbhLCX2ZuM


Si c'est fini, peux tu mettre le sujet à résolu (en dessous du titre de ton premier message)

Bonne journée
Salut ccm81

Merci pour ta réponse c'est sympa,

Je n'arrive pas avec les MFC a chaque fois que j'essai ce système je fini par lâcher parce que ca ne fonctionne pas.

Bon tant pis merci a toi

Cdlt Ray
salut ccm81

Je te remercie pour tes réponses, mais j'arrive pas a faire fonctionner correctement

ci joint ma version complète, si tu a le temps de regarder ou je merdouille

je t'en remercie par avance

bonne après midi a toi

cdlt ray

http://www.cjoint.com/c/GCbmWKe6Uyz
Messages postés
57
Date d'inscription
dimanche 15 juillet 2012
Statut
Membre
Dernière intervention
2 mars 2017

Bonjour à tous,

Déjà il faut savoir que la complexité de l'algorithme servant à résoudre ton problème sera au minimum de l'ordre de x². Tu peut diminuer mais je ne pourrais pas dans mon cas.
Je peux t'aider avec du code VBA. Je vais donc considérer que les valeurs ne seront exclusivement que entre les lignes 1 et 20 comprise.

Private Sub nomDeLaFonction()

Dim i As Integer, j As Integer, k As Integer
Dim occurenceMax As Integer, occurence As Integer
Dim nbCourant As Integer, nbMax As Integer
occurenceMax = 0
occurence = 0
' k sera les colonnes
For k = 6 To 12
    ' i et j seront les lignes
    For i = 1 To 19
        nbCourant = Cells(i,k) '6 étant la colonne F, pour G il faudra 7...
        For j = i + 1 To 20
            If Cells(j,6) = nbCourant Then
                occurence = occurence + 1
            End If
        Next j
        If occurence > occurenceMax Then
            occurenceMax = occurence
            nbMax = nbCourant
        End If
        occurence = 0
    Next i
    Cells(21,k) = nbMax
    Cells(22,k) = occurenceMax
    occurenceMax = 0
Next k
End Sub


Je ne l'ai pas testé mais ça devrait être ça =)
Si tu as besoin d'explication quelconques afin de mettre ce code dans ton excel hésite pas!
Tiens moi au courant !
Merci :)
Bien cordialement,
Hugo
salut ccm81

Merci pour la modification, bon la ca fonctionne nickel.

Tu a vu ou j'ai merdouiller, je devais pas être loin du compte ???

Sinon un grand merci a toi, bonne continuation et a une prochaine fois.

Bonne fin d'après midi et encore merci.

Bien cordialement Raymond
Salut HugoHerbomez,

Merci de ta réponse et pour le code

je le place ou ce code dans la feuil1 ou un module

si je souhaite appeler cette fonction comme une Sub, je dois faire comment svp.

je ne comprends pas trop comment fonctionne ton code, je ne suis pas bon en ce moment, LOL

Merci pour ton aide, bonne fin d'après midi

CdlRay