Résultat d'une recherche dans UserForm

Hades60250

XLDnaute Nouveau
Bonjour le forum.

Je suis en train de créer une base d'entreprise sous Excel 2003.

J'ai créé quelques fonctionnalités sous VBA pour ce classeur dont une recherche d'entreprise.

J'ai donc un UserForm qui s'affiche avec un Combobox dont le Rowsource renvoi aux raisons sociales des boites.

Une fois l'entreprise sélectionné, ça vous affiche un Msgbox avec les coordonnées de l'entreprise sélectionnée.

Voici le code:

Private Sub cmdok_Click()

'Déclaration des variables utilisées
Dim Ligne As Long
Dim valeursaisie As String
Dim téléphone As String
Dim cellulaire As String
Dim fax As String
Dim contact As String
Dim positioncontact As String
Dim adresse As String
Dim complément As String
Dim cp As String
Dim ville As String
Dim mail As String
Dim net As String
Dim qualibat As String
Dim spécialité As String
Dim secteur_géo As String
Dim Effectif As String
Dim Observations As String

Dim Message As Byte

'Boucle permettant de chercher la valeur saisie
For Ligne = 2 To Sheets("Liste").Range("A1").End(xlDown).Row
valeursaisie = Sheets("Liste").Range("A" & Ligne).Value
téléphone = Sheets("Liste").Range("C" & Ligne).Value
cellulaire = Sheets("Liste").Range("D" & Ligne).Value
fax = Sheets("Liste").Range("E" & Ligne).Value
contact = Sheets("Liste").Range("F" & Ligne).Value
positioncontact = Sheets("Liste").Range("G" & Ligne).Value
adresse = Sheets("Liste").Range("H" & Ligne).Value
complément = Sheets("Liste").Range("I" & Ligne).Value
cp = Sheets("Liste").Range("J" & Ligne).Value
ville = Sheets("Liste").Range("K" & Ligne).Value
mail = Sheets("Liste").Range("L" & Ligne).Value
net = Sheets("Liste").Range("M" & Ligne).Value
qualibat = Sheets("Liste").Range("N" & Ligne).Value
spécialité = Sheets("Liste").Range("O" & Ligne).Value
secteur_géo = Sheets("Liste").Range("P" & Ligne).Value
Effectif = Sheets("Liste").Range("Q" & Ligne).Value
Observations = Sheets("Liste").Range("R" & Ligne).Value


If Nom.Value = valeursaisie Then
valeursaisie = ActiveCell
Message = MsgBox("Informations de l'entreprise recherchée" & vbCrLf & vbCrLf & "Contact: " & contact & ", " & positioncontact & vbCrLf & vbCrLf & "Tel: " & téléphone & vbCrLf & "Cellulaire: " & cellulaire & vbCrLf & "Fax: " & fax & vbCrLf & vbCrLf & "Adresse: " & adresse & vbCrLf & "Complément: " & complément & vbCrLf & "Code postal: " & cp & "- " & ville & vbCrLf & vbCrLf & "Adresse e-mail: " & mail & vbCrLf & "Site internet: " & net & vbCrLf & "Qualibat: " & qualibat & vbCrLf & "Spécialité: " & spécialité & vbCrLf & "Effectif: " & Effectif & vbCrLf & "Secteur géographique: " & secteur_géo & vbCrLf & vbCrLf & "Observations: " & vbCrLf & Observations, vbOKCancel, "Valeur cherchée")
End If
Next Ligne
End Sub


Alors voilà, j'aurais aimé pouvoir en cas de besoin modifier les coordonnées de l'entreprise... sauf que dans un MsgBox pas possible de modifier les champs!

Est ce que quelqu'un aurait une solution à mon problème???

Par avance merci!
 

Hades60250

XLDnaute Nouveau
Re : Résultat d'une recherche dans UserForm

Vi tu as parfaitement compris!

Donc on pourrait envisager qu'au lieu d'ouvrir le MsgBox j'ouvre un nouvel UserForm et pour remplir les Textbox je rentre un code du type:

nom = ActiveCell.Value
Me.contact = ActiveCell.Offset(0, 1).Value
Me.telephone = ActiveCell.Offset(0, 2).Value
Me.adresse = ActiveCell.Offset(0, 3).Value
Me.mail = ActiveCell.Offset(0, 4).Value

Est-ce bien ça?

Merci beaucoup!
 

Hades60250

XLDnaute Nouveau
Re : Résultat d'une recherche dans UserForm

Oki merci beaucoup pour ton aide.

J'ai commencé à travailler là dessus.

Donc dans un premier UserForm l'utilisateur rentre la raisons sociale de l'entreprise qu'il recherche, ensuite lorsqu'il appuis sur le bouton OK, ça envoi vers le second UserForm dans lequel se trouvent toutes les infos, ça donne

1- PREMIER USERFORM:

Private Sub cmdok_Click()

UserForm14.Show
UserForm2.Hide

End Sub

2- SECOND USERFORM

Private Sub UserForm_Initialize()

'Déclaration des variables utilisées
Dim Ligne As Long
Dim valeursaisie As String
Dim téléphone As String
Dim cellulaire As String
Dim fax As String
Dim contact As String
Dim positioncontact As String
Dim adresse As String
Dim complément As String
Dim cp As String
Dim ville As String
Dim mail As String
Dim net As String
Dim qualibat As String
Dim spécialité As String
Dim secteur_géo As String
Dim Effectif As String
Dim Observations As String

'Boucle permettant de chercher la valeur saisie
For Ligne = 2 To Sheets("Liste").Range("A1").End(xlDown).Row
valeursaisie = Sheets("Liste").Range("A" & Ligne).Value
téléphone = Sheets("Liste").Range("C" & Ligne).Value
cellulaire = Sheets("Liste").Range("D" & Ligne).Value
fax = Sheets("Liste").Range("E" & Ligne).Value
contact = Sheets("Liste").Range("F" & Ligne).Value
positioncontact = Sheets("Liste").Range("G" & Ligne).Value
adresse = Sheets("Liste").Range("H" & Ligne).Value
complément = Sheets("Liste").Range("I" & Ligne).Value
cp = Sheets("Liste").Range("J" & Ligne).Value
ville = Sheets("Liste").Range("K" & Ligne).Value
mail = Sheets("Liste").Range("L" & Ligne).Value
net = Sheets("Liste").Range("M" & Ligne).Value
qualibat = Sheets("Liste").Range("N" & Ligne).Value
spécialité = Sheets("Liste").Range("O" & Ligne).Value
secteur_géo = Sheets("Liste").Range("P" & Ligne).Value
Effectif = Sheets("Liste").Range("Q" & Ligne).Value
Observations = Sheets("Liste").Range("R" & Ligne).Value

If UserForm2.Nom.Value = valeursaisie Then

valeursaisie = ActiveCell

Me.raison_sociale = ActiveCell
Me.siren = ActiveCell.Offset(0, 1).Value

End If

Next Ligne

Unload UserForm2

End Sub


Sauf que mes textbox restent vides..... une idée???

Merki!
 

Hades60250

XLDnaute Nouveau
Re : Résultat d'une recherche dans UserForm

J'ai modifié le code. Pour simplifier un maximum, il n'y a plus qu'un seul UserForm.

Voici le code:

Nom = combobox dans lequel l'utilisateur choisi l'entreprise

Private Sub Nom_Change()

'Déclaration des variables utilisées

Dim Ligne As Long
Dim valeursaisie As String
Dim téléphone As String
Dim cellulaire As String
Dim fax As String
Dim contact As String
Dim positioncontact As String
Dim adresse As String
Dim complément As String
Dim cp As String
Dim ville As String
Dim mail As String
Dim net As String
Dim qualibat As String
Dim spécialité As String
Dim secteur_géo As String
Dim Effectif As String
Dim Observations As String

'Boucle permettant de chercher la valeur saisie

For Ligne = 2 To Sheets("Liste").Range("A1").End(xlDown).Row
valeursaisie = Sheets("Liste").Range("A" & Ligne).Value
téléphone = Sheets("Liste").Range("C" & Ligne).Value
cellulaire = Sheets("Liste").Range("D" & Ligne).Value
fax = Sheets("Liste").Range("E" & Ligne).Value
contact = Sheets("Liste").Range("F" & Ligne).Value
positioncontact = Sheets("Liste").Range("G" & Ligne).Value
adresse = Sheets("Liste").Range("H" & Ligne).Value
complément = Sheets("Liste").Range("I" & Ligne).Value
cp = Sheets("Liste").Range("J" & Ligne).Value
ville = Sheets("Liste").Range("K" & Ligne).Value
mail = Sheets("Liste").Range("L" & Ligne).Value
net = Sheets("Liste").Range("M" & Ligne).Value
qualibat = Sheets("Liste").Range("N" & Ligne).Value
spécialité = Sheets("Liste").Range("O" & Ligne).Value
secteur_géo = Sheets("Liste").Range("P" & Ligne).Value
Effectif = Sheets("Liste").Range("Q" & Ligne).Value
Observations = Sheets("Liste").Range("R" & Ligne).Value

If Nom.Value = valeursaisie Then
valeursaisie = ActiveCell


UserForm14.siren.Text = ActiveCell.Offset(0, 1).Value
UserForm14.telephone.Text = ActiveCell.Offset(0, 2).Value
UserForm14.cellulaire.Text = ActiveCell.Offset(0, 3).Value
UserForm14.fax.Text = ActiveCell.Offset(0, 4).Value
UserForm14.contact.Text = ActiveCell.Offset(0, 5).Value
UserForm14.position_contact.Text = ActiveCell.Offset(0, 6).Value
UserForm14.adresse = ActiveCell.Offset(0, 7).Value
UserForm14.complément_adresse = ActiveCell.Offset(0, 1).Value
UserForm14.code_postal = ActiveCell.Offset(0, 1).Value
UserForm14.ville = ActiveCell.Offset(0, 1).Value


End If

Next Ligne

End Sub

Nom = combobox dans lequel l'utilisateur choisi l'entreprise

Ce code fonctionnait lorsque je lui demandait d'afficher un MsgBox... mais là plus rien, les TextBox restent vides.

Merci par avance aux bénévoles qui voudront bien m'aider !

Seb.
 

Hades60250

XLDnaute Nouveau
Re : Résultat d'une recherche dans UserForm

En cherchant j'ai trouvé mon erreur:

je déclarai les variables sans les utiliser!

UserForm14.siren.Text = ActiveCell.Offset(0, 1).Value

DEVIENT

siren = UserForm14.siren.Text

Comme quoi parfois il suffit de se relire.......

Bonne journée à toutes et tous!
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
314 645
Messages
2 111 536
Membres
111 184
dernier inscrit
amiko