VBA EXCEL Comment extraire le nombre...

Fermé
nex1706 Messages postés 11 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 29 juillet 2009 - 8 sept. 2008 à 11:44
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 - 8 sept. 2008 à 12:25
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
A voir également:

6 réponses

wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 244
8 sept. 2008 à 12:10
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
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 244
8 sept. 2008 à 11:54
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
nex1706 Messages postés 11 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 29 juillet 2009 1
8 sept. 2008 à 12:06
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
nex1706 Messages postés 11 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 29 juillet 2009 1
8 sept. 2008 à 12:16
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nex1706 Messages postés 11 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 29 juillet 2009 1
8 sept. 2008 à 12:24
En faite, ça me convient bien et merci de ton aide a+
-1
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 244
8 sept. 2008 à 12:25
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