Rechercher : dans
Par :

Rerchercher une valeur dans une cellule VBA

Dernière réponse le 9 jui 2009 à 11:56:29 kit_ou_DOUBLE, le 9 jui 2009 à 10:37:04 
 Signaler ce message aux modérateurs

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 !!!!

Configuration: Windows XP Internet Explorer 6.0

Meilleures réponses pour « Rerchercher une valeur dans une cellule VBA » dans :
[VBA] Détection de modification de cellule VoirExemple pour une MFC avec plus de 3 conditions. Private Sub Worksheet_Change(ByVal Target As Range) Dim Cel As Range For Each Cel In Target 'Adapter la/les plages. If Not Intersect(Cel, Range("B1:B30,D1:D30")) Is Nothing...
[Excel] Restreindre l'accès aux cellules VoirEncore une fonction peu connue : Expérimentez : Données / Validation Vous pouvez alors restreindre ou interdire l'accès aux "cellules stratégiques" de votre choix, avec message d'alerte. Vous pouvez faire afficher automatiquement des messages...
Listes déroulantes simples avec Excel VoirDans votre tableau, vous souhaitez insérer un texte ou une valeur choisi dans une liste (déroulante). vous créez votre liste, ligne aprés ligne, sur votre feuille en cours ou sur une autre feuille du classeur en cours. vous la nommez : INSERTION...

1

michel_m, le 9 jui 2009 à 11:09:29

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
Cordialement, Michel

Répondre à michel_m

2

kit_ou_DOUBLE, le 9 jui 2009 à 11:32:06

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

Répondre à kit_ou_DOUBLE

3

michel_m, le 9 jui 2009 à 11:38:37

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

--

Répondre à michel_m

4

 kit_ou_DOUBLE, le 9 jui 2009 à 11:56:29

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

Répondre à kit_ou_DOUBLE
Collection CommentÇaMarche.net