Aide USERFORM - Option button

Grenoble87

XLDnaute Nouveau
Pour commencer bonjour à tous!

Fichier en pièce jointe :)


Je développe un fichier client avec deux interfaces (Useform) et un tableau (Base de données)
La première useform me permet d'ajouter un client avec toutes les infos le concernant (via une multitude de textbox) et l'ajoute à la suite dans la base de données. Dans cette useform j'i ajouter 4 optionbutton pour affecter une couleur seulement sur la cellule "nom de l'entreprise" (Colonne A). Jusqu'ici pas de problème: la couleur choisi avec les optionsbutton se place bien dans la base de données.

Mon probléme concerne la deuxième useform qui me permet de rechercher et de modifier des clients existant avec une combobox regroupant tous les noms de client de la base de données et d'afficher les informations du client dans les textbox.
Toutes les infos remontent bien par contre:

Serait il possible, selon la couleur du client éxistant, de cocher la optionbutton automatiquement?
En gros:

Dans ma "Useform" modif et recherche, je selectionne "CLient1" (On va dire qu'il est BLEU)
dans la combobox. J'aimerais que la optionbutton1 (Qui correspond au client bleu) se coche automatiquement.

Merci par avance
 

job75

XLDnaute Barbatruc
Re : Aide USERFORM - Option button

Bonjour Grenoble87,

Code:
Private Sub ComboBox1_Change()
Dim Ligne As Long
Dim I As Integer
   If Me.ComboBox1.ListIndex = -1 Then Exit Sub
  Ligne = Me.ComboBox1.ListIndex + 2
  Select Case Ws.Cells(Ligne, 1).Interior.ColorIndex
    Case 4: OptionButton5 = True
    Case 3: OptionButton6 = True
    Case 23: OptionButton7 = True
    Case 6: OptionButton8 = True
  End Select
  For I = 1 To 3
    Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I + 1)
  Next I
 End Sub
A+
 

job75

XLDnaute Barbatruc
Re : Aide USERFORM - Option button

Re,

En plus court :

Code:
Private Sub ComboBox1_Change()
Dim Ligne As Long, I As Integer
If Me.ComboBox1.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox1.ListIndex + 2
For I = 1 To 3
  Controls("TextBox" & I) = Ws.Cells(Ligne, I + 1)
Next
On Error Resume Next 'si la couleur n'est pas dans l'Array
Controls("Optionbutton" & 4 + Application.Match(Ws.Cells(Ligne, 1).Interior.ColorIndex, Array(4, 3, 23, 6), 0)) = True
End Sub
Edit : hello Lone-wolf :)

A+
 
Dernière édition:

Si...

XLDnaute Barbatruc
Re : Aide USERFORM - Option button

Hello,

j’en étais resté là
VB:
Private Sub ComboBox1_Change()
  If ComboBox1.ListIndex < 0 Then Exit Sub
  Ligne = ComboBox1.ListIndex + 2
  For I = 1 To 3: Me("TextBox" & I) = Cells(Ligne, I + 1): Next
  For I = 0 To 3 
    Me("Optionbutton" & 5 + I) = Cells(Ligne, 1).Interior.ColorIndex = Array(4, 3, 23, 6) (I)
  Next
 End Sub
il y a des lignes inutiles
- la variable de Feuille n’est pas utile quand le bouton de lancement est dans celle-ci
- les tests de visibilité des contrôles sont inutiles quand ils ne changent pas d’état
En voici une adaptation simplifiée
 

Pièces jointes

  • Gestion (USF).xls
    120.5 KB · Affichages: 66

Statistiques des forums

Discussions
312 677
Messages
2 090 820
Membres
104 676
dernier inscrit
akram1619