Rerchercher une valeur dans une cellule VBA

kit_ou_DOUBLE Messages postés 4 Statut Membre -  
kit_ou_DOUBLE Messages postés 4 Statut Membre -
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

4 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
  2. kit_ou_DOUBLE Messages postés 4 Statut Membre
     
    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
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
  4. kit_ou_DOUBLE Messages postés 4 Statut Membre
     
    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