VBA EXCEL Comment extraire le nombre...

nex1706 Messages postés 11 Statut Membre -  
wilfried_42 Messages postés 912 Statut Contributeur -
Bonjour,
Comment extraire le nombre de cellule trouvée si le critère de recherche se trouve dans un autre cellule. Voici le code que j'ai fait sur VBA mais je n'ai pas pu trouvé une solution Merci de votre aide

Voici le code:
Dim i As Integer
Dim j As Integer
Sub essai_clic()
j = Cells.Find("*", , , , xlByRows, xlPrevious).Row
For i = 7 To j
Set MyRange = Range(Cells(i, 1), Cells(i, 9))
If Cells(i, 2) = "TEST1" And Cells(i, 4) = "TEST2" Then
MyRange.Interior.ColorIndex = 4
End If
Next i
End Sub
Configuration: Windows XP
Internet Explorer 6.0

6 réponses

  1. wilfried_42 Messages postés 912 Statut Contributeur 245
     
    re:

    une simple formule, pas besoin de macro (En reprenant l'exemple donné ci dessus I1 et J1)

    =SOMMEPROD((B1:B1000=I1) * (D1:D1000=J1))

    1
  2. wilfried_42 Messages postés 912 Statut Contributeur 245
     
    Bonjour

    au regard de la macro, qui colorie une plage selon 2 criteres, il aurait ete plus simple de faire une Mise en Forme Conditionnelle et surement plus rapide m'enfin

    quelles sont les cellules qui contiennent les valeurs à tester : Exemple I1 et J1

    If Cells(i, 2) = Range("I1") And Cells(i, 4) = Range("J1") Then
    -1
  3. nex1706 Messages postés 11 Statut Membre 1
     
    Je fais le coloriage à titre d'exemple, les cellules qui contient les valeurs à tester sont les plages [B:B] et [D:D] mais ce que je veux avoir c comment compter les nombres de cellule trouvé. est ce que je me suis trompé de code?
    -1
  4. nex1706 Messages postés 11 Statut Membre 1
     
    Merci, Mais si la plage [B:B] ou [D:D] varie est ce que je dois mettre q m B1:B1000 ou D1:D1000?
    -1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. nex1706 Messages postés 11 Statut Membre 1
     
    En faite, ça me convient bien et merci de ton aide a+
    -1
  7. wilfried_42 Messages postés 912 Statut Contributeur 245
     
    re:

    le plus facile est de nommer une plage dinamique en prenant reference la colonne toujours remplie, généralement la colonne A

    Menu Insertion / Nom / Definir : Pour le nom : mettre cola par exemple
    en dessous : fait reference à : mettre la formule suivante

    =DECALER(A1;0;0;nbval(A:A))

    s'il y a une ligne de titre :
    =DECALER(A1;1;0;nbval(A:A)-1)

    ensuite la formule

    =SOMMEPROD((decaler(cola;0;1)=I1)*(DECALER(cola;0;3)=J1))

    -1