VBA + méthode find

slai -  
 dom -
salut,

je veux effectuer une rechche dans une feuille excel avec deux critères (ex : trouve la celule qui contient * et A)

Dans vba, je connais la méthode Find , mais apparemment, elle ne m'autorise qu'un critère de recheche.

Avez vous une sol dans vba sans passer par les filtres d 'exce l ?

Merci !

2 réponses

  1. Armojax Messages postés 1863 Date d'inscription   Statut Membre Dernière intervention   1 529
     
    Salut slai,

    Tu peux essayer avec la fonction Find d'Excel.
    La macro ci-dessous fonctionne. Adapte la "Plage" à ton cas perso.
    Quand je trouve, je fais un "Activate" de la cellule. Mets-y ce que tu veux.

    Sub Cherche()
    
      Dim Plage   As Range
      Dim Cellule As Range
      Dim Posit   As Long
      
      On Error Resume Next
      Set Plage = Sheets("Feuil1").Range(Cells(1, 1), Cells(12, 8))
      For Each Cellule In Plage
        If Cellule.Value <> "" Then
          Posit = Application.WorksheetFunction.Find("*", Cellule.Value)
          If Posit > 0 Then
            Posit = Application.WorksheetFunction.Find("A", Cellule.Value)
          End If
          If Posit > 0 Then
            Cellule.Activate
            Exit Sub
          End If
        End If
      Next
      
    End Sub
    7
    1. dom
       
      Bonjour Armojax

      Pourrais-tu stp m'aider pour créer la programmation suivante dans VBA-Excel ?

      Voici mes données dans une feuille excel

      compte Montant Numéro d'écriture
      1002 100 238
      1004 -100 238
      1005 -100 238
      1005 100 238
      1002 150 612
      1001 -100 612
      1003 -50 612
      1005 -150 612
      1005 150 612

      j'aimerai que pour chaque écriture comportant le même numéro (ici 238 et 612), le système aille me chercher le montant correspondant au compte 1002 (ici 100 pour la 1ere écriture et 150 pour la deuxième) et qu'il me le recopie dans une autre feuille (en fait il faudrait qu'il me recopie toutes les informations de cette ligne (1002 100 238)
      Puis il va me chercher le numéro de compte correspondant au même montant mais en signe opposé (soit -100 pour l'écriture 238 et -150 pour l'écriture 612) et il me le recopie sous l'info copiée auparavant
      Mais si jamais j'ai 1 compte qui a comme montant celui qui est <0 et le >0, je ne le veux pas (ex ici dans l'écriture 238 : je ne veux pas du 1005 car il a 100 et -100, idem dans la 612)
      Ensuite il faudrait que le système soit capable de trouver toutes les combinaisons possible dans une seule écriture pour égaler le montant trouvé en 1002 (mais en sens opposé)de cette même écriture
      Ici par exemple dans l'écriture 612, 1002 = 150 et l'équivalent c'est 1001 pour -100 + 1003 pour -50
      Si on pouvait rajouter un contrôle sous résultat trouvé par écriture pour montrer que la somme des 2 = 0, ce serait parfait

      Merci beaucoup par avance
      A bientôt j'espère
      0
  2. WhiteFang Messages postés 2063 Statut Membre 204
     
    ;-)

    Et une fois trouvées, tes cellules, tu veux faire quoi ?

    (oui, il y a une solution à tout...)

    ;-)
    1