Compter cellules avec critéres

Florian53

XLDnaute Impliqué
Bonjour à tous,

J'ai beau chercher sur les forums je ne trouve pas de sujets similaire au mien, je souhaite compter le nombre de cellules différentes en fonction de 3 critères .

Ces critères se trouvent dans les A, B et F et je souhaiterais compter le nombre de cellules en colonne M sans doublons.

je souhaiterais pouvoir récupérer le résultat numérique (exemple : 5 ) grâce à un code VBA.

Cette valeur me servira par la suite à étirer une formule matricielle dans un programme Vba:

Exemple:

VB:
Selection.AutoFill Destination:=Range("X26", Range("X" & (i ))), Type:=xlFillValues

Merci à vous
 

Pièces jointes

  • Classeur1.xlsx
    10.7 KB · Affichages: 16

Florian53

XLDnaute Impliqué
J'ai fais une macro qui compte les cellules qui correspondent aux critères demandés mais je n'arrive pas à soustraire les doublons de la colonne "M"

Code:
Sub compteur()
    Dim compteur As Integer
    Dim state As Boolean
    compteur = 0
    For i = 1 To Sheets("Feuil1").Range("A65536").End(xlUp).Row
            If Sheets("Feuil1").Range("A" & i).Value = "Excel" And Sheets("Feuil1").Range("B" & i).Value = "2017" And Sheets("Feuil1").Range("F" & i).Value = "France" Then
            compteur = compteur + 1
            End If
            Next i
           
End Sub
 

Florian53

XLDnaute Impliqué
Re,

Je ne sais pas si je dois créée un nouveau sujet, mais après avoir relus mon post et réfléchi à mon problème.
J'ai pensé à une autre solution qui serait plus simple.

Il faudrait extraire les cellules de la colonne "M" sans doublons et avec les critères de la colonne A , B et F dans une autre feuille.

J'ai trouvé sur le site "http://boisgontierjacques.free.fr/" le sujets qui traite les extractions, mais je n'ai pas trouvé d'équivalent avec 3 critères comme je le souhaiterais.

si quelqu'un peut m'aider à résoudre ce problème, merci à vous
 

Florian53

XLDnaute Impliqué
Je partage mon avancement :

Voici le code que j'essaye de mettre en place mais la macro s’arrête lors du collage :

VB:
Sub Test()

  Dim Lig     As Long
  Dim Col     As String
  Dim NbrLig  As Long
  Dim NumLig  As Long
  Sheets("feuil2").Activate ' feuille de destination
  ColA = "A" ' colonne données non vides à tester'
  ColB = "B"
  ColC = "F"
  ColM = "M"
  NumLig = 2          'alors là ca doit etre le N° de la 1er ligne de données en comptant la ligne 1 = 0 .... ? '
  With Sheets("feuil1")     ' feuille source'
  NbrLig = .Cells(65536, ColA).End(xlUp).Row
  For Lig = 2 To NbrLig             'n° de la 1ere ligne de données'
    If .Cells(Lig, ColA).Value = "Excel" And .Cells(Lig, ColB).Value = "2017" And .Cells(Lig, ColC).Value = "France" Then
      .Cells(Lig, ColM).Copy
      NumLig = NumLig + 1
      Sheets("feuil2").Cells(NumLig, 1).Insert Shift:=xlDown, Unique:=True
     
            'ici pour insérer ou  .Paste pour coller'
    End If
  Next
  End With
     
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 103
Messages
2 085 314
Membres
102 860
dernier inscrit
fredo67