Formule excel
Utilisateur anonyme
-
vaanbasch Messages postés 772 Date d'inscription Statut Membre Dernière intervention -
vaanbasch Messages postés 772 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);"")
***@***
A voir également:
- Formule excel
- Formule si et excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Excel mise en forme conditionnelle formule - Guide
- Formule somme excel colonne - Guide
- Liste déroulante excel - Guide
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
cela peut se faire de plusieurs façons.
quel est l'objectif de cette traduction?
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