Formule excel

Google@117590186757595020100 -  
vaanbasch Messages postés 794 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour

Je voudrais traduire cette formule excel en VBA :

  • Dans la Feuille1 j'ai une liste (n° compte et son Intutilé)
  • Dans la Feuille2, dans la cellule A1, j'ai liste déroulante donc quel est le code VBA de cellule B1 en VBA.

Merci d'avance.

=SIERREUR(RECHERCHEV(C20;'Feuil1'!$E$2:$F$664;2;FAUX);"")

***@***

2 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     

    bonjour,

    cela peut se faire de plusieurs façons.

    quel est l'objectif de cette traduction?

    0
  2. vaanbasch Messages postés 794 Date d'inscription   Statut Membre Dernière intervention   666
     

    Bonjour,

    Alors en s'y penchant de plus près, je propose ce code.

    Edit : une petite erreur modifiée. 

    Sub RechercheIntituleCompte()
        Dim ws1 As Worksheet, ws2 As Worksheet  ' Déclaration des variables pour les feuilles
        Dim rechercheValeur As Variant          ' Valeur recherchée (depuis C20)
        Dim cell As Range                       ' Chaque cellule de la plage de recherche
        Dim resultat As String                  ' Résultat de la recherche
    
        ' Définir les feuilles concernées
        Set ws1 = ThisWorkbook.Sheets("Feuil1")   ' Feuille contenant la liste des comptes
        Set ws2 = ThisWorkbook.Sheets("Feuil2")   ' Feuille où l'on fait la recherche
    
        ' Récupérer la valeur entrée dans C20 de Feuil2
        rechercheValeur = ws2.Range("C20").Value
    
        ' Initialiser le résultat par défaut en cas d'erreur
        resultat = ""
    
        ' Parcourir la plage de recherche E2:E664 de Feuil1
        For Each cell In ws1.Range("E2:E664")
            If cell.Value = rechercheValeur Then
                ' Correspondance trouvée : On récupère la valeur correspondante de la colonne F
                resultat = cell.Offset(0, 1).Value
                Exit For  ' On arrête la recherche dès qu'on a trouvé
            End If
        Next cell
    
        ' Afficher le résultat trouvé dans la cellule B1 de Feuil2
        ws2.Range("B1").Value = resultat
    End Sub

    0