re
oups, j'avais pas vu qu'il y avait des BAP avec cuisson et des BAP sans cuissons 🙂
Pour les grandes lignes de 'programmation' :
2 choses importantes dans cette macro :
1 - Récupérer le nom du bouton d'options, pour ceci, on utilise ce type de boucle :
For i = 1 To 5
If Controls('OptionButton' & i) = True Then
exploit = Controls('OptionButton' & i).Tag
TextBox1 = Controls('OptionButton' & i).Caption
End If
Next i
Pour que le nom soit comparable avec la base de données, il faudrait que le caption du bouton d'options soit identique à la base, ce qui n'est pas le cas pour les 5 premiers boutons.
Ton premier type d'exploitation s'appelle sans cuisson dans la base, et Point froid ( optionbutton 1) dans l'userform
On triche, en stockant dans le tag (voir propriété des boutons), le nom de la base : sans cuisson.
Pour les autres optionbuttons pas de problème on récupère les captions des boutons.
2 comparer les noms des optionbuttons avec la base :
'on crée un tableau variant (tableau virtuel crée juste le temps d'utilisation de la macro) :
tablo = Range('b28:f236') 'a adapter si ton tableau s'aggrandit
'ensuite il suffit de boucler sur chaque ligne du tableau et de comparer les valeurs avec les captions des optionbuttons :
For i = 1 To UBound(tablo, 1)
If tablo(i, 1) = exploit _
And tablo(i, 2) = niveau _
And Format(tablo(i, 3), '###%') = ca Then
TextBox4 = tablo(i, 4)
TextBox5 = tablo(i, 5) * 100 & '%'
End If
Next i
Voila
j'espère que ce que je t'explique est clair, je ne suis pas très pédagogue 🙂
Désolé d'avoir été long.
Salut
[file name=Basedonnees3.zip size=22253]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Basedonnees3.zip[/file]