Creer une fonction rechercher Vba
Abd3l0u
Messages postés
21
Date d'inscription
Statut
Membre
Dernière intervention
-
Abd3l0u Messages postés 21 Date d'inscription Statut Membre Dernière intervention -
Abd3l0u Messages postés 21 Date d'inscription Statut Membre Dernière intervention -
Bonjour a tous,
Mon probleme de vendredi n'inspire personne apparament jusqu'a aujourd'hui donc je retente ma chance avec une variante lol.
J'aimerai creer une fonction recherche sur Vba.
Cette fonction recherche une valeur en B et me donne la valeur qui se trouve en C. Cependant il est possible d'avoir la meme valeur en B ( exemple 10 lignes marquees G01) mais avec une valeur differente en C.
Dans ce cas la, j'aimerai que la fonction me donne toutes les possibilites possible que j'exploiterai autrement.
J'espere avoir etait assez clair =/, c'est jamais evident.
Merci par avance pour vos reponse.
Mon probleme de vendredi n'inspire personne apparament jusqu'a aujourd'hui donc je retente ma chance avec une variante lol.
J'aimerai creer une fonction recherche sur Vba.
Cette fonction recherche une valeur en B et me donne la valeur qui se trouve en C. Cependant il est possible d'avoir la meme valeur en B ( exemple 10 lignes marquees G01) mais avec une valeur differente en C.
Dans ce cas la, j'aimerai que la fonction me donne toutes les possibilites possible que j'exploiterai autrement.
J'espere avoir etait assez clair =/, c'est jamais evident.
Merci par avance pour vos reponse.
A voir également:
- Creer une fonction rechercher Vba
- Fonction si et - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Créer une adresse hotmail - Guide
- Créer un lien pour partager des photos - Guide
2 réponses
Bonjour,
Tu peux réaliser cette recherche multiple avec VBA et la méthode Range.Find.
Un exemple :
https://www.cjoint.com/?DCyjFdDHP1k
A+
Tu peux réaliser cette recherche multiple avec VBA et la méthode Range.Find.
Un exemple :
https://www.cjoint.com/?DCyjFdDHP1k
A+
Tout dépend de l'utilisation que tu veux faire de la fonction.
Exemple avec une fonction appelée par une procédure test :
A+
Exemple avec une fonction appelée par une procédure test :
Sub Test()
MsgBox ChercheDxx("Toto2").Address
End Sub
Function ChercheDxx(X3 As String) As Range
'Cette fonction cherche dans ZBPRPL1 le code X3 dans la colonne B et retourne la plage des Dxx (colonnes C) qui y correspondent
Dim Plage As Range, C As Range
Dim Dxx As String
Set Plage = Range("B1:B" & Range("B" & Rows.Count).End(xlUp).Row)
Set C = Plage.Find(X3, , xlValues, xlWhole)
If Not C Is Nothing Then
Dxx = C.Address
Do
If ChercheDxx Is Nothing Then
Set ChercheDxx = C.Offset(0, 1)
Else
Set ChercheDxx = Application.Union(ChercheDxx, C.Offset(0, 1))
End If
Set C = Plage.FindNext(C)
Loop While Not C Is Nothing And C.Address <> Dxx
End If
Set Plage = Nothing: Set C = Nothing
End Function
A+
Function ChercheDxx(X3 As String) As Range
'Cette fonction cherche dans ZBPRPL1 le code X3 dans la colonne B et retourne la plage des Dxx (colonnes C) qui y correspondent
Dim Plage As Range, C As Range
Dim Dxx As String
Set Plage = Range("B1:B" & Range("B" & Rows.Count).End(xlUp).Row)
Set C = Plage.Find(Valeur, , xlValues, xlWhole)
If Not C Is Nothing Then
Dxx = C.Address
Do
ChercheDxx = C.Offset(0, 1)
Set C = Plage.FindNext(C)
Loop While Not C Is Nothing And C.Address <> Dxx
End If
Set Plage = Nothing: Set C = Nothing
End Function