Contenu d'une RechercheV dans une MsgBox

  • Initiateur de la discussion Initiateur de la discussion thom02
  • Date de début Date de début

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 !

T

thom02

Guest
Bonjour,

Pour un projet, j'aimerais pouvoir faire apparaitre le contenu d'une recherche dans un mesgbox. Je m'explique, sur ma première page j'ai un menu déroulant qui correspond à mes clients et j'aimerais faire apparaitre dans un MsgBox la caractéristique de ce client qui se trouve dans le deuxième onglet Source.

J'aurais pu faire cela simplement mais j'aimerais automatiser le tout et du coups utiliser du code VBA

Et je me casse la tete avec les Vlookup

Pouvez vous m'aider svp

merci
 

Pièces jointes

Dernière modification par un modérateur:
Re : Contenu d'une RechercheV dans une MsgBox

bonsoir,
Si la liste est en A2, dans le module de la feuille
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$2" And Target.Count = 1 And Not IsEmpty(Target) Then
    msg = Application.VLookup(Target, Sheets("Source").Range("A5:B14"), 2, 0)
    If Not IsError(msg) Then MsgBox msg
End If
End Sub
A+
kjin
 
Re : Contenu d'une RechercheV dans une MsgBox

Bonsoir à tous


Pour le fun et pour saluer Master kjin (L.P.D.L.M.) 😉
En partant sur son code (que je trouve limpide comme le fond de mon verre)
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x$, msg
x = ((Target.Address = "$A$2") + (Target.Count = 1) + (Not IsEmpty(Target))) + 5
msg = Application.VLookup(Target, Sheets("Source").Range("A5:B14"), x, 0)
If Not IsError(msg) Then MsgBox msg
End Sub
 
Re : Contenu d'une RechercheV dans une MsgBox

Aie...

j'ai peut être répondu trop tot...

J'ai voulu adapter le code de manière à ce qu'il ne se passe rien au cas ou il n'y a aucunes particularités pour le client.

Ceci semblait bien fonctionner mais à présent dès que j'efface le contenu d'une cellule de ma page j'obtiens une erreur d'incompatibilité de type à la partie "Then MsgBox Target....."

Pourriez vous m'aider ?

Un grand merci !!!

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x$, msg
x = ((Target.Address = "$C$25") + (Target.Count = 1) + (Not IsEmpty(Target))) + 5
msg = Application.VLookup(Target, Sheets("Clients").Range("A8:L100"), 12, 0)

If Not IsError(msg) And Not IsEmpty(msg) Then MsgBox Target.Value & Chr(13) & "Particularité : " & msg, vbInformation + vbOKOnly, " A Savoir.... "

End Sub
 
Re : Contenu d'une RechercheV dans une MsgBox

Bonsoir

NB: Personnellement j'éviterai d'utiliser mon code (qui n'est que ludique)
En situation réelle , j'utiliserai le code initial de Maitre Kjin (G.O.T.M)

Avec le code VBA modifié ainsi il se passe quoi ?
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x$, msg
x = ((Target.Address = "$C$25") + (Target.Count = 1) + (Not IsEmpty(Target))) + 5
msg = Application.VLookup(Target, Sheets("Clients").Range("A8:L100"), 12, 0)

If Not IsError(msg) And Not IsEmpty(msg) Then 
MsgBox Target.Value & Chr(13) & _
"Particularité : " & msg, vbInformation + vbOKOnly, " A Savoir.... "
End if

End Sub
 
Dernière édition:
Re : Contenu d'une RechercheV dans une MsgBox

Bonsoir

NB: Personnellement j'éviterai d'utiliser mon code (qui n'est que ludique)
En situation réelle , j'utiliserai le code initial de Maitre Kjin (G.O.T.M)

Avec le code VBA modifié ainsi il se passe quoi ?
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x$, msg
x = ((Target.Address = "$C$25") + (Target.Count = 1) + (Not IsEmpty(Target))) + 5
msg = Application.VLookup(Target, Sheets("Clients").Range("A8:L100"), 12, 0)

If Not IsError(msg) And Not IsEmpty(msg) Then 
MsgBox Target.Value & Chr(13) & _
"Particularité : " & msg, vbInformation + vbOKOnly, " A Savoir.... "
End if

End Sub

Merci pour ton aide malheureusement j'ai toujours la même erreur d'incompatibilité de type :-(
 
Re : Contenu d'une RechercheV dans une MsgBox

Comme ceci cela semble fonctionner 🙂 Yipiiie
Code:
If Not IsError(msg) And Not IsEmpty(msg) And Target.Address = "$C$25" Then
MsgBox Target.Value & Chr(13) & _
"Particularité : " & msg, vbInformation + vbOKOnly, " A Savoir.... "
End If
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
567
Réponses
3
Affichages
818
Retour