Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Microsoft 365Creer un bouton VBA pour lancer une recherche
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 !
Bonjour Hangoup,
tenez vous au VBA ?
Si non il; est simple de le faire en formule, comme en PJ, avec :
VB:
=SIERREUR(RECHERCHEV($H$6;$A$2:$E$45;2;0);"")
Si le VBA est exigé, fournissez un fichier test, cela évitera de nombreux allers retours car le fichier que le contributeur construira sera évidemment différent du votre.
Re,
"Just for the fun", en PJ :
- Feuil1: une macro sur un bouton avec :
VB:
Sub rechercher()
If [H5] = "" Then Exit Sub
Dim Réf, L%
Réf = [H5]
[I5:L5].ClearContents
If Application.CountIf([A:A], Réf) > 0 Then
L = Application.Match(Réf, [A:A], 0)
[H5:L5] = Range("A" & L & ":L" & L).Value
End If
End Sub
- Feuil2: une macro événementielle. il suffit de modifier la valeur de la cellule en jaune pour mettre à jour, avec :
Code:
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, [H5]) Is Nothing Then
If Target = "" Then Exit Sub
Dim L%
[I5:L5].ClearContents
If Application.CountIf([A:A], Target) > 0 Then
L = Application.Match(Target, [A:A], 0)
[H5:L5] = Range("A" & L & ":L" & L).Value
End If
End If
Fin:
End Sub
Re,
"Just for the fun", en PJ :
- Feuil1: une macro sur un bouton avec :
VB:
Sub rechercher()
If [H5] = "" Then Exit Sub
Dim Réf, L%
Réf = [H5]
[I5:L5].ClearContents
If Application.CountIf([A:A], Réf) > 0 Then
L = Application.Match(Réf, [A:A], 0)
[H5:L5] = Range("A" & L & ":L" & L).Value
End If
End Sub
- Feuil2: une macro événementielle. il suffit de modifier la valeur de la cellule en jaune pour mettre à jour, avec :
Code:
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, [H5]) Is Nothing Then
If Target = "" Then Exit Sub
Dim L%
[I5:L5].ClearContents
If Application.CountIf([A:A], Target) > 0 Then
L = Application.Match(Target, [A:A], 0)
[H5:L5] = Range("A" & L & ":L" & L).Value
End If
End If
Fin:
End Sub
- 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