Formule excel
Utilisateur anonyme
-
vaanbasch Messages postés 1161 Statut Membre -
vaanbasch Messages postés 1161 Statut Membre -
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);"")
***@***
A voir également:
- Formule excel
- Formule excel si et - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Liste déroulante excel - Guide
- Excel mise en forme conditionnelle formule - Guide
- Formule somme excel ligne - Guide
2 réponses
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