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

J

JJ1

Guest
Bonsoir à tous,

J'ai commencé un chantier que je peine à terminer tellement il y a des formules .
Je recherche le nombre d'occurences de suites verticales dans une plage avec des NB.SI (4 par formule X une centaine de combinaisons......)

Je joins un ex avec la formule que j'utilise.
Y a t il plus simple ou qq'un peut il m'aider à écrire une macro de comptage?
merci
Bonne soirée
 

Pièces jointes

Re : formules puis VBA ?

Bonjour


Pas de réponses !

Ton problème serait-il mal formulé ?

S'il s'agit de compter le nombre d'occurences d'une même combinaison j'ai écrit il y quelques mois une petite procédure de ce type. Il faut l'adapter à ton cas. Je peux le faire si le problème est bien celui là.

Cette macro travaille sur 3 colonnes il est facile d'en rajouter une.

Code:
Private Sub CommandButton1_Click()
' OCC : combinaison de chiffres
' NBOCC : Nombre d'occurences

Dim OCC As String
Dim NBOCC As Integer

'Calcul du nombre de lignes de la colonne A
Cells(1, "A").Select
nblignes = Cells(Range("A:A").Count, ActiveCell.Column).End(xlUp).Row
' Concaténation de A, B, C dans la colonne IV
For i = 1 To nblignes
    Range("IV" & i).Value = Range("A" & i) & Range("B" & i) & Range("C" & i)
Next i
' Trie de la colonne IV
Range("IV:IV").Select
Selection.Sort Key1:=Range("IV1"), Order1:=xlAscending
' Comptage du nombre d'occurences
Range("A1").Select
i = 1
cpt = nblignes
While cpt > 0
    OCC = Range("IV" & i).Value

    NBOCC = Application.CountIf(Range("IV:IV"), OCC)
    
        'affichage de l'occurence et de sa fréquence si > à 1
        'les variables OCC et NBOCC peuvent être récupérée dans des cellules si nécessaire
        If NBOCC > 1 Then
            Message = OCC & " est présent : " & NBOCC & " fois"
            reponse = MsgBox(Message)
        End If

    i = i + NBOCC
    cpt = cpt - NBOCC
Wend
End Sub
 
Re : formules puis VBA ?

Bonsoir et merci pour ton aide...j'ai peut-être mal formulé, pourtant j'avais mis un exemple..?

En fait j'ai une plage de données (col A à F par ex, donc 6 nombres par ligne) et 300 lignes par ex.
(sur l'ex, j'avais mis 4 nombres mais ça ne change rien, juste le nb de combinaisons)

Ensuite j'ai une plage de 4 lignes de 6 nombres (par ex H1:M4) pour lesquels je vais rechercher verticalement en descendant le nb pour chaque combinaison verticale formée à partir de ces nombres.

ex: 1 2 3 4 5 6
7 8 9 10 11 12
13 14 15 16 17
18 19 20 21 22

je vais rechercher si 18 13 7 1 est dans la plage en descendant, puis 18 13 7 2 puis 18 13 7 3 et ainsi de suite jusqu a 22 17 12 6 la dernière (soit plus de 500 combi)
La combinaison doit se "suivre" en descendant dans la plage de recherche mais pas forcément alignée (nombres décalés dans la plage, voir mon ex)

Si ta macro peut être adaptée je suis preneur car avec des formules NB.SI je finirai en l'an 2010 !

Bonne soirée
 
Re : formules puis VBA ?

re

J'ai toujours pas tout compris !

la formule avec les NB.Si te donne le produit pour la premiere occurence du nombre de 1 * le nombre de 2 (deux fois) * le nombre de 4 ce qui donne 36.

Je ne vois pas là un nombre de combinaisons !

La position de ta combinaison dans la liste étant complètement aléatoire je ne vois pas résoudre ton problème par formule ni même avec VBA.

Dernière possibilité, je n'ai rien compris.
 
Re : formules puis VBA ?

Bonjour, c'est pas évident à expliquer, aussi j'ai fait 2 fichiers:
essai3 qui explique ma méthode NB.SI (il me faut autant de colonnes que de combinaisons à chercher)
essai2 qui détaille les combinaisons (>1000) à partir de mes 4 lignes de 6 chiffres.(donc avec NB.SI il me faudrait + de 1000 colonnes !!!!)

Si ta macro peut s'appliquer ici
Bonne journée et merci
 

Pièces jointes

- 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
3
Affichages
667
Réponses
10
Affichages
409
Réponses
7
Affichages
668
Réponses
5
Affichages
735
Réponses
5
Affichages
750
Retour