Optionbutton et userform
tophessa
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Thorak83 Messages postés 1051 Date d'inscription Statut Membre Dernière intervention -
Thorak83 Messages postés 1051 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Débutant en vba, je me retrouve bloqué dans la création de mon formulaire.
Je vais essayer de vous expliquer simplement mon problème pour que vous puissiez comprendre. J'ai donc un userform qui me permet de gérer des patients (Nom, prénom..). Ce userform contient 3 boutons de commande qui sont nouveau, modifier et quitter.
Mon problème se situe avec des optionbuttons qui sont insérés dans des frames (J'en ai 4 avec par exemple fiche de renseignements signée ou non signée etc). Quand j'insère un nouveau patient, j'ai trouvé la programmation à mettre en place pour qu'il ajoute à ma feuille excel les valeurs entrées dans les optionbutton. Par contre, si je souhaite modifier la fiche d'un patient, les optionbutton sont vides car je n'arrive pas à récupérer la valeur de ma feuille excel. Je ne sais pas si je suis très clair. Ensuite, une fois que cette fonction sera fonctionnelle, j'aimerai pouvoir modifier la valeur et la récupérer dans ma feuille.
Je vous met ce qu'il y a dans mon bouton modifier pour le moment :
Merci pour votre aide
Si certains veulent, je peux transmettre mon fichier.
Débutant en vba, je me retrouve bloqué dans la création de mon formulaire.
Je vais essayer de vous expliquer simplement mon problème pour que vous puissiez comprendre. J'ai donc un userform qui me permet de gérer des patients (Nom, prénom..). Ce userform contient 3 boutons de commande qui sont nouveau, modifier et quitter.
Mon problème se situe avec des optionbuttons qui sont insérés dans des frames (J'en ai 4 avec par exemple fiche de renseignements signée ou non signée etc). Quand j'insère un nouveau patient, j'ai trouvé la programmation à mettre en place pour qu'il ajoute à ma feuille excel les valeurs entrées dans les optionbutton. Par contre, si je souhaite modifier la fiche d'un patient, les optionbutton sont vides car je n'arrive pas à récupérer la valeur de ma feuille excel. Je ne sais pas si je suis très clair. Ensuite, une fois que cette fonction sera fonctionnelle, j'aimerai pouvoir modifier la valeur et la récupérer dans ma feuille.
Je vous met ce qu'il y a dans mon bouton modifier pour le moment :
'Correspond au programme du bouton MODIFIER
Private Sub CommandButton2_Click()
If MsgBox("Etes-vous certain de vouloir modifier la fiche patient ?", vbYesNo, "Demande de confirmation") = vbYes Then
Dim Ligne As Long
Dim L As Integer
Dim TB
If Me.ComboBox1.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox2.List(Me.ComboBox2.ListIndex, 1)
For L = 1 To 34
If Me.Controls("TB" & L).Visible = True Then
Ws.Cells(Ligne, L + 2) = Me.Controls("TB" & L)
End If
Next L
End If
End Sub
Merci pour votre aide
Si certains veulent, je peux transmettre mon fichier.
A voir également:
- Optionbutton vba userform
- Excel compter cellule couleur sans vba - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Mkdir vba ✓ - Forum VB / VBA
- Dépassement de capacité vba ✓ - Forum Excel
3 réponses
Bonjour,
Ça manque d'un peu de précision.
Comment choisissez vous le client que vous désirez modifier ? Votre pointeur est il sur la cellule du client que vous désirez modifier ? comment appelez vous votre UserForm ?
Cordialement
Ça manque d'un peu de précision.
Comment choisissez vous le client que vous désirez modifier ? Votre pointeur est il sur la cellule du client que vous désirez modifier ? comment appelez vous votre UserForm ?
Cordialement
Le client est choisit par une liste déroulante (combobox1) qui gère le NOM. Le prénom est dans une combobox2 qui est aussi géré par une liste déroulante "en cascade".
Mon userform s'appelle UserForm1. J'ai été très original sur ce coup. En espérant que cela vous éclaire un peu.
Mon userform s'appelle UserForm1. J'ai été très original sur ce coup. En espérant que cela vous éclaire un peu.
Voici un exemple de code a exécuter sur Clic du bouton Modifier:
J'ai essayé de commenter le code afin que tu comprennes bien, mais si des zones sont flous n'hésitez pas à demander.
Je te conseille également de bien indenter ton code pour une meilleur lecture et un meilleur débogage si ça plante
Private Sub cmdModifier_Click() Dim NomClient As String Dim PrenomClient As String ' ici on se positionne sur le 1er client Range("A3").Select ' ici boucle do while qui dit : tant que la cellule active n'est pas ' vide j'entre dans la boucle Do While ActiveCell.Value <> "" ' on recupere le nom et le prenom du client pour plus de clareté NomClient = ActiveCell.Value 'colone A PrenomClient = ActiveCell.Offset(0, 1).Value 'decallage 1 colonne a droite en B ' ici on test si le nom et prénom sont identique If NomClient = combobox1.Value And PrenomClient = ComboBox2.Value Then ' récuper les valeur des autres colonnes et les renseigner dans le Userform ' par exemple pour la fiche de renseignement si c'est en colonne C avec comme valeur OUI ou NON If ActiveCell.Value(0, 2).Value = "OUI" Then OptionButton1.Value = True If ActiveCell.Value(0, 2).Value = "NON" Then OptionButton2.Value = True ... End If ' ici on descend d'une ligne vers le bas vers le client suivant ActiveCell.Offset(1, 0).Select Loop End Sub
J'ai essayé de commenter le code afin que tu comprennes bien, mais si des zones sont flous n'hésitez pas à demander.
Je te conseille également de bien indenter ton code pour une meilleur lecture et un meilleur débogage si ça plante