Rerchercher une valeur dans une cellule VBA

Fermé
kit_ou_DOUBLE Messages postés 4 Date d'inscription jeudi 9 juillet 2009 Statut Membre Dernière intervention 9 juillet 2009 - 9 juil. 2009 à 10:37
kit_ou_DOUBLE Messages postés 4 Date d'inscription jeudi 9 juillet 2009 Statut Membre Dernière intervention 9 juillet 2009 - 9 juil. 2009 à 11:56
Bonjour à tous,

je veux faire une macro qui cherche "B" dans la colonne 3 et si ne trouve pas "B" alors il met dans la cellule
cells ( 1,1)=0 et si il trouve "B" j'incrémente un compteur. SACHANT QUE la cellule 3 contient "A" "B" "C" "D" "E" " F" Le contenu peut évoluer.


et je VEUX fairee la m^me chose pour chercher ''D'' et ''C"

voilà ce j'ai fait:


For j = 3 To Cells(Rows.Count, 3).End(xlUp).Row

if Cells(j, 3).Value = "B" Then
compteur2 = compteur2 + 1
Cells(1, 1).Value = compteur2

else: /*** else ça veut dire si Cells(j, 3).Value <> "B", elle peut donc être "C" ou "D" ou autre ******/

comment dire si tu ne trouve pas "B" et uniquement "B" si lorsque il tombe sur recherche sur "c" par exemple je ne veux pas qu'il rentre dans la boucle , mets Cells(1, 1).Value =0

End If
Next

/***************même chose pour "c"************/
For j = 3 To Cells(Rows.Count, 3).End(xlUp).Row

if Cells(j, 3).Value = "C" Then
compteur1 = compteur1 + 1
Cells(2, 1).Value = compteur1
endif
else

/***********************/

je ne sais pas si c'est clair!!! please help !!!!

4 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
9 juil. 2009 à 11:09
Bonjour
je dois avoir mal compris car...

Sub compter_lettre()
Cells(1, 1) = Application.CountIf(Columns(3), "B")
Cells(2, 1) = Application.CountIf(Columns(3), "C")
End Sub
0
kit_ou_DOUBLE Messages postés 4 Date d'inscription jeudi 9 juillet 2009 Statut Membre Dernière intervention 9 juillet 2009
9 juil. 2009 à 11:32
Salut
merci pour ta réponse,

effectivement la commande me permet de savoir combien il ya de B dans la colonne B

mais Le truc c'est que j'ai un if avec des and : dsl je ne l'ai pas précisé avant!!!
je ne veux pas compter le nombre de 'B'



For j = 3 To Cells(Rows.Count, 3).End(xlUp).Row

if Cells(j, 3).Value = "B" and cells(j,5).value<>cells(j,4) and cells(j,6);value < 25/05/2006 Then
compteur2 = compteur2 + 1
Cells(1, 1).Value = compteur2

else: /*** else ça veut dire si Cells(j, 3).Value <> "B" ou .... ou..... , elle peut donc être "C" ou "D" ou autre ******/

comment dire si tu ne trouve pas "B" et uniquement "B" si lorsque il tombe sur recherche sur "c" par exemple je ne veux pas qu'il rentre dans la boucle , mets Cells(1, 1).Value =0

End If
Next




SI J'écris juste:


For j = 3 To Cells(Rows.Count, 3).End(xlUp).Row

if Cells(j, 3).Value = "B" and cells(j,5).value<>cells(j,4) and cells(j,6);value < 25/05/2006 Then
compteur2 = compteur2 + 1
Cells(1, 1).Value = compteur2
end if
next


s'il ny'a pas de "B" dans ma colonne, Cells(1, 1) reste vide alors que je veux qu'il me la mette à 1


MERCI POUR VOTRE AIDE
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
9 juil. 2009 à 11:38
Je ne continue JAMAIS d'aider quand le demandeur n'a pas pris la peine d'expliquer clairement sa demande
je ne suis pas taillable et corvéable à merci

--
0
kit_ou_DOUBLE Messages postés 4 Date d'inscription jeudi 9 juillet 2009 Statut Membre Dernière intervention 9 juillet 2009
9 juil. 2009 à 11:56
Re bonjour,

dsl c'est pas que je n'ai pris la peine d'expliquer c'est juste que c'est pas évident à expliquer et je n'y arrive pas !!!

donc comment pourriez vous m'aider si moi m^me je n'expose pas le pb clairement
je te comprends et encore une fois dsl !!!!



alors le truc c'est que : j'incrémente le compteur2 à condition que Cells(j, 3).Value = "B" and cells(j,5).value<>cells(j,4) and cells(j,6);value < 25/05/2006

mais comment dire si je ne trouve pas "b" dans la COLONNE "3" alors cells( 1,1)=0
si je ne trouve pas "C" alors cells( 2,1)=0
si je trouve pas ''D" alors cells (3,1)=0

la macro que j'ai marche le truc c'est que lorsque elle ne trouve pas "B" dans la colonne 3 alors elle laisse
cells( 1,1) vide et je veux qu'elle la mette à zéro


SI J'écris juste:
For j = 3 To Cells(Rows.Count, 3).End(xlUp).Row

if Cells(j, 3).Value = "B" and cells(j,5).value<>cells(j,4) and cells(j,6);value < 25/05/2006 Then
compteur2 = compteur2 + 1
Cells(1, 1).Value = compteur2
end if
next

s'il ny'a pas de "B" dans ma colonne, Cells(1, 1) reste vide alors que je veux qu'il me la mette à 1


J'espère que c'est clair
MERCI POUR VOTRE AIDE
0