Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

akramenergie

XLDnaute Occasionnel
Bonjour amis du forums

je voudrais appliquer une rechercheV sur un fichier par le billet d'une macro je vous joint mon fichier.

je voudrais que ma macro fait la recherche dans la feuil2 et renseigne les valeurs dans la feuil1. (les valeur rechercher sont : C, E , G)
 

Pièces jointes

Re : RechercheV

Bonjour akramenergie,

Je ne vois pas trop l'intérêt du VBA pour ce problème, mais enfin :

Code:
Private Sub CommandButton1_Click()
Dim plage As Range, cel As Range
Set plage = Sheets("Feuil2").Range("B2:C" & Sheets("Feuil2").Range("B65536").End(xlUp).Row)
Range("B2:B65536").ClearContents 'précaution...
For Each cel In Range("A2", Range("A65536").End(xlUp))
  cel.Offset(, 1) = Application.VLookup(cel, plage, 2, 0)
Next
End Sub

A+
 
Re : RechercheV

Bonjour Akramenergie, bonjour le forum,

Essaie comme ça :
Code:
Private Sub CommandButton1_Click()
With Sheets("Feuil1")
.Range("B2").Value = WorksheetFunction.VLookup(.Range("A2"), Sheets("Feuil2").[COLOR=red]Range("B2:C11")[/COLOR], 2, False)
End With
End Sub

Édition :

Bonjour Job on s'est croisé.
 
Re : RechercheV

Bonjour Job75

ton code marche bien sauf si je me demande est ce que il ya un moynen pour fair un controle sur la valeur rechercher.
cad si il trouve pas la valeur rechercher dans la plage de recherche, il mais le mot "valeur non disponible" dans la cellule.

NB: par défaut ton code met une "#N/A" si il trouve pas la valeur.

merci
 
Re : RechercheV

RE,

NB: par défaut ton code met une "#N/A" si il trouve pas la valeur.

Bien sûr, exactement comme la fonction RECHERCHEV dans la feuille de calcul.

Code:
Private Sub CommandButton1_Click()
Dim plage As Range, cel As Range, [COLOR="Red"]v As Variant[/COLOR]
Set plage = Sheets("Feuil2").Range("B2:C" & Sheets("Feuil2").Range("B65536").End(xlUp).Row)
Range("B2:B65536").ClearContents 'précaution...
For Each cel In Range("A2", Range("A65536").End(xlUp))
  v = Application.VLookup(cel, plage, 2, 0)
  [COLOR="Red"]cel.Offset(, 1) = IIf(IsError(v), "valeur non disponible", v)[/COLOR]
Next
End Sub

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 agrandir la liste
Réponses
21
Affichages
642
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…