Probleme option button dans userform
Résolu
cedric0715
Messages postés
265
Statut
Membre
-
Zoul67 Messages postés 2001 Statut Membre -
Zoul67 Messages postés 2001 Statut Membre -
Bonjour,
bonjour*dans mon userform j ai deux option butonn
je voudrais réaliser d'est que je selectionne mon opttion button 1 cela m’écris valider dans la colone u de la ligne sectionné et que cla met ma ligne en couleur verte
et je selectionne mon opttion button 2 cela m’écris refuser dans la colone u de la ligne sectionné et que cela met ma ligne en couleur rouge
mais ce que j'ai écris cela ne fonctionne pas
merci de votre aide
mon code si dessous
bonjour*dans mon userform j ai deux option butonn
je voudrais réaliser d'est que je selectionne mon opttion button 1 cela m’écris valider dans la colone u de la ligne sectionné et que cla met ma ligne en couleur verte
et je selectionne mon opttion button 2 cela m’écris refuser dans la colone u de la ligne sectionné et que cela met ma ligne en couleur rouge
mais ce que j'ai écris cela ne fonctionne pas
merci de votre aide
mon code si dessous
Private Sub CommandButton1_Click()
Dim L1 As Integer
Dim ds As Worksheet
'protection feuille
Worksheets("TABLEAU RECAP").Unprotect ("cedric")
With ThisWorkbook.Worksheets("TABLEAU RECAP")
L1 = .Cells(.Rows.Count, 2).End(xlUp).Row + 0
.Range("v" & L1).Value = ComboBox1 'NON DU RESPONSABLE'
Worksheets("TABLEAU RECAP").Protect ("cedric"), DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
End With
Me.hide
Unload UserForm3
End Sub
Private Sub OptionButton1_Change()
If valider = True Then
.Range("u" & L1).Value = valider 'ranger valeur valider
End If
End Sub
Private Sub OptionButton2_Change()
If refuser = True Then
.Range("u" & L1).Value = refuser 'ranger valeur valider
End If
End Sub
2 réponses
-
Bonjour,
Essaie de faire des efforts en orthographe.
1/ Tu ne peux pas commencer par "." (.Range). Le "." implique un héritage ; le code ne sait pas à quelle feuille cela se rapporte.
Donc soit tu es sûr qu'on est déjà dans la bonne feuille :Range("u" & L1).Value = "validé"
ou tu t'en assures :ThisWorkbook.Worksheets("TABLEAU RECAP").Range("u" & L1).Value = "validé"
2/ Note au passage les guillemets (sinon Excel cherche une variable intitulée validé)
3/ Enfin, L1 n'est peut-être pas reconnue dans le code des Option Buttons. Le cas échéant, il faut soit rendre la variable publique, soit la recalculer.
A+-
merci
mon code dans mon userform et j'ai corriger en prenant compte de tes remarques
cela me mets plus d'erreur mais la valeur valider ou refuser ne s écris pasPrivate Sub CommandButton1_Click()
Dim i As Integer
Dim ds As Worksheet
'protection feuille
Worksheets("TABLEAU RECAP").Unprotect ("cedric")
With ThisWorkbook.Worksheets("TABLEAU RECAP")
i = .Cells(.Rows.Count, 2).End(xlUp).Row + 0
.Range("v" & i).Value = ComboBox1 'NON DU RESPONSABLE'
Worksheets("TABLEAU RECAP").Protect ("cedric"), DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
End With
Me.hide
Unload UserForm3
End Sub
Private Sub OptionButton1_Change()
With ThisWorkbook.Worksheets("TABLEAU RECAP")
i = .Cells(.Rows.Count, 2).End(xlUp).Row + 0
If valider = True Then
Range("u" & i).Value = "validé"
End If
End With
End Sub
Private Sub OptionButton2_Change()
With ThisWorkbook.Worksheets("TABLEAU RECAP")
i = .Cells(.Rows.Count, 2).End(xlUp).Row + 0
If refuser = True Then
Range("u" & i).Value = "refuser"
End If
End With
End Sub -
j ai trouvez un autre moyen mais cela me fais quelque chose de bizarre
Private Sub OptionButton1_Change()
With ThisWorkbook.Worksheets("TABLEAU RECAP")
i = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
.Range("u" & i).Value = Array("refuser", "valider")(Abs(OptionButton1))
End With
End Sub
Private Sub OptionButton2_Change()
With ThisWorkbook.Worksheets("TABLEAU RECAP")
i = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
.Range("u" & i).Value = Array("valider", "refuser")(Abs(OptionButton2))
End With
End Sub
pouvez vous regarder
https://mon-partage.fr/f/Ww82XhIu/
-
-
Oulah...
Prends un peu de recul.
1/ C'est le bazar tous les boutons à ajouter en colonne T.
2/ Comment fais-tu pour savoir à quelle ligne on se réfère si tous les boutons sont identiques ?
3/ Le tableau n'est à compléter qu'après appui sur le bouton de validation.
Jette un oeil là : https://mon-partage.fr/f/2SCoOR2i/
J'ai résolu ces problèmes.
Mais... des données saisies directement dans le tableau ne sont pas suffisantes ? (peut-être parce qu'il doit être protégé...)
A+-
-
- bonjour
excuse moi je n'ai pas pu te répondre désoler
mon problème est le suivant
pour le premier remplissage
si mon équipement en Année 2015 était note A je remplis mon tableau recap et en face de la ligne dans mon tableau équipement en colonne g je mets la note
si mon même équipement en Année 2016 la note est b ou c cela rempli mon tableau recap et change la note dans mon tableau équipement
si mon même équipement en Année 2016 la note est b est en 2017 la note est a et que la case "changement équipement n est pas cocher cela m'ouvre un message box "note supérieure a l’année dernier et cela supprime la ligne dans le tableau recap et on ne change surtout pas la note dans donné équipement
si mon même équipement en Année 2016 la note est b est en 2017 la note est A et que la case "changement equpement est cocher cela m'ouvre un message box "informe equipe ..... et cela ouvre un autre userform qui demande les élément et les inscrit dans donne équipement bien sur la note doit s' inscrire dans le tableau recap et changé la note qui est dans le tableau donnée équipement
merci de ton aide
-
Bonjour Cédric,
Je pense qu'il faut prendre le problème dans l'autre sens, à savoir n'activer le bouton Valider que quand les bonnes conditions sont remplies.
Le bouton Calcul des notes n'était pas très élégant. J'ai apporté des modifications. Réfléchis aussi à ce qui est modifiable ou non (tu peux utiliser la propriété "Enabled")
Ton UserForm ne semble pas apte à créer une nouvelle ligne (il y a pour le moment seulement sélection d'une ligne existante).
Enfin comme on s'eloigne de ta demande initiale, je te conseille d'ouvrir un nouveau fil dans le forum.
https://www.cjoint.com/c/FLnmNsQ44xJ
A+
-