affichage d'un userform suite à une recherche

  • Initiateur de la discussion Initiateur de la discussion damien
  • 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 !

D

damien

Guest
bonjour à tous

serait'il possible que si la cellule "a1" égal un nom de la base qui se trouve en base il m'ouvre un userform avec le prenom qui se trouve en colonne B.

feuil2 colonne A les noms
feuil2 colonne B les prénoms

merci
damien
 

Pièces jointes

Bonjour Damien, le Forum

Je ne télécharge pas les fichiers (règles de sécurité du bureau) mais je me figure bien ton exemple.

Pour un exemple simple :
Un Classeur Vierge
En Feuil1 tu mets ce code en Private Module
En Feuil2 tu saisis des données de A1:B50

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range, Cell As Range
If Target.Address = "$A$1" Then

For Each Cell In Sheets("Feuil2").Range("A1:B50")
If UCase(Target.Text) = UCase(Cell.Text) Then
MsgBox "Matching " & Target.Value & " with " & Cell.Offset(0, 1)
End If
Next
End If
End Sub

En Feuil1 Cellule "A1", Tu saisis une des données figurant dans la colonne "A" de la Feuil2.

Tu devrais avoir un Message Box t'indiquant la valeur retournée. (Attention autant de message que de fois où la valeur sera trouvée en, colonne "A" de Feuil2.)

Il te suffira ensuite d'adapter ce code à un UserForm... Pour ce Faire je te suggère de Déclarer une Variable Public de Type String que tu déclareras en haut d'un module standard ("Module1" par exemple) voici la syntax :
Public TheMatch As String

Pour adapter ceci au code ci-dessus : tu remplaces la ligne "MsgBox..." par :
TheMatch = Cell.Offset(0, 1)
Et toujours dans le code du dessus tu ajoutes :
UserForm1.Show
Après le Next et Avant le End If


Et dans le Private Module du UserForm (imaginons que ce soit un TextBox)

Private Sub UserForm_Initialize()
TextBox1 = TheMatch
End Sub



Une démo assez complète sur un sujet assez similaire... :

=> Démo Téléchargeable USF_ListBox_A_La_Volee.zip (48k)

=> Le Fil de Discussion DEMO Userform ListBox éphémère / Créé de toute pièce à la Volée en VBA !! (qui rappellera des souvenirs à un certain petit lapin bleu !! lol)

Bonne Fin d'Aprèm
@+Thierry
 
bonsoir Damien , bonsoir @+Thierry

merci pour ce bon souvenir ....effectivement c'etait ma premiere utilisation d'un tableau indexé séquentiellement ...;o)...
et j'avoue que j'ai eu beaucoup de mal à en comprendre le principe de fonctionnement


tres bonne soiree
michel
 
re bonjour
merci à vous ça marche mais je voudrai que ça marche dans toute la colonne. A mon avis je doit remplacer ceci
If Target.Address = "$A$1" Then
mais par quoi

voici la totalité

Private Sub Worksheet_Change(ByVal Target As Range)
Dim xlig As Byte

xlig = Range("a225").End(xlUp).Row + 1

Dim Plage As Range, Cell As Range
If Target.Address = "$A$1" Then

For Each Cell In Sheets("base").Range("A1:B50")
If UCase(Target.Text) = UCase(Cell.Text) Then
TheMatch = Cell.Offset(0, 1)

End If
Next
UserForm1.Show
End If
End Sub

merci encore

damien
 
Bonsoir Damien, Michel , le Forum

Et oui Michel on évolue tous et toute sur XLD !

Pour Damien va d'urgence dans ce fil :

Lien supprimé
"Y - A - TOU - CE - QUI - FO" !

Moi je t'avais mis dans cet exemple $A$1 en application de ce que tu as demandé comme exemple. Mais dans le fil que j'ai fait au dessus tu trouveras ton bonheur, j'en suis certain !

PS I = Pour les déclarations de Dim, Conventionnellement on les groupe ensemble en début de Sub, on commence à les initialiser qu'ensuite...

PS II = Sur 225 cellules çà va encore mais si tu as besoin de traîter de plus grands tableaux, regarde ce fil d'aujourd'hui Lien supprimé mon post du 03-05-04 18:56, j'ai montre un exemple avec une "Array" qui va beaucoup plus vite...

Bonne Soirée
@+Thierry
 
- 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

  • Question Question
Microsoft 365 affichage userform
Réponses
4
Affichages
418
Réponses
19
Affichages
621
Réponses
6
Affichages
189
Réponses
5
Affichages
266
Retour