Imposer Click OptionButton avant validation

Marboi

XLDnaute Occasionnel
Bonjour le Forum,

C'est vrai que plus on essaye de manipuler le code VBA, plus on essaye d'aller plus loin.
J'ai cependant quelques petits soucis avec ma macro.
1 - Je souhaiterai obliger l'utilisateur à renseigner l'un des OptionButton avant la validation sachant qu'il y a déjà obligation de renseigner des TextBox (ça j'y arrive !). J'y ai mis un code mais c'est pas le top car j'ai un message à chaque clic (valid, efface, fermeture etc...).
2 - le bouton 'effacer la saisie' ne doit agir que si c'est OK et je n'arrive pas à laisser un choix entre OK ou Annuler ou ECHAP.
3 - Si je voulais enregistrer chaque projet sous un nom dans un répertoire défini et qu'au lieu d'utiliser le bouton reprise des données dans l'USF1 mais plutôt une listBox pour recherche les projets enregister, comment dois-je m'y prendre ?
Je sais qu'un exemple vaut mieux que du bla bla, aussi je joins mon fichier, mais Opus, je lis qu’on ne peut plus joindre de fichier.

Est-ce que ça vaut la peine dans l’immédiat que je copie tout le code dans ce fil ?

Merci à ceux qui pourront me répondre.
 
M

Marboi

Guest
Bonjour le forum, j'en reviens à vous pour mon problème que je vous soumets à nouveau.

Voilà ce que j'ai fait :
Une USF avec 14 TextBox (là pas de Problème) et 4 OptionButton pour définir le sexe (pas la taille!...). Après plusieurs jours de recherche, je n'arrive pas à 'l'inclure' dans le bouton de validation pour obliger que l'on clique sur un des OptionButton avant validation.


Option Explicit
_______________________________________________
Private Sub CommandButton1_Click()
Dim i As Byte

For i = 1 To 14
If Controls('TextBox' & i).Value = '' Then
MsgBox 'Un champ n'est pas rempli'
Exit Sub
End If
Next i
Sheets('Accueil').Range('F10') = TextBox1.Value
Sheets('Accueil').Range('F11') = TextBox2.Value
Sheets('Accueil').Range('F12') = TextBox3.Value
Sheets('Accueil').Range('F13') = TextBox4.Value
Sheets('Accueil').Range('F14') = TextBox5.Value
Sheets('Accueil').Range('F15') = TextBox6.Value
Sheets('Accueil').Range('F16') = TextBox7.Value
Sheets('Accueil').Range('F17') = TextBox8.Value
Sheets('Accueil').Range('F18') = TextBox9.Value
Sheets('Accueil').Range('F19') = TextBox10.Value
Sheets('Accueil').Range('F20') = TextBox11.Value
Sheets('Accueil').Range('F21') = TextBox12.Value
Sheets('Accueil').Range('F22') = TextBox13.Value
Sheets('Accueil').Range('F23') = TextBox14.Value

J'ai essayé d'inclure ceci pour obliger le click d'un des OpitonButton avant validation, mais ça ne fonctionne pas

'If (OptionButton1 Or OptionButton2 Or OptionButton2 Or OptionButton3 Or OptionButton4) = False Then
'Cancel = True
'MsgBox 'Vous devez indiquer le Sexe !'
'End If

'If (OptionButton1 Or OptionButton2 Or OptionButton2 Or OptionButton3 Or OptionButton4) = True Then
'Cancel = False
'End If

UserForm1.Hide

End Sub
_______________________________________________
Private Sub CommandButton2_Click() 'Bouton qui doit effacer la saisie avec un message d'alerte et il faudrait que ce soit OUI (OK) ou NON (ANNULER OU ECHAP)
Sheets('Accueil').Select
MsgBox 'ATTENTION, Vous allez effacer toute la saisie ! Si c 'est ce que vous voulez appuyer sur OK, sinon sur ECHAP' là ça ne fonctionne pas,Echap ne marche pas et tout est effacé !...
Range('F10:F23').Select
Selection.ClearContents
Range('a1').Select
End Sub
_______________________________________________
Private Sub CommandButton3_Click()
Sheets('Accueil').Select
Unload UserForm1
End Sub
_______________________________________________
'Là je reprends les infos des Textbox pour éventuellement modifier un TextBox sans être obligé de tout resaisir

Private Sub CommandButton4_Click()
UserForm1.TextBox1.Value = Sheets('Accueil').Range('F10')
UserForm1.TextBox2.Value = Sheets('Accueil').Range('F11')
UserForm1.TextBox3.Value = Sheets('Accueil').Range('F12')
UserForm1.TextBox4.Value = Sheets('Accueil').Range('F13')
UserForm1.TextBox5.Value = Sheets('Accueil').Range('F14')
UserForm1.TextBox6.Value = Sheets('Accueil').Range('F15')
UserForm1.TextBox7.Value = Sheets('Accueil').Range('F16')
UserForm1.TextBox8.Value = Sheets('Accueil').Range('F17')
UserForm1.TextBox9.Value = Sheets('Accueil').Range('F18')
UserForm1.TextBox10.Value = Sheets('Accueil').Range('F19')
UserForm1.TextBox11.Value = Sheets('Accueil').Range('F20')
UserForm1.TextBox12.Value = Sheets('Accueil').Range('F21')
UserForm1.TextBox13.Value = Sheets('Accueil').Range('F22')
UserForm1.TextBox14.Value = Sheets('Accueil').Range('F23')
'Je ne peux pas reprendre le 'sexe' sur l'optionButton
End Sub
_______________________________________________
Là je renseigne les infos des OptionButton

Private Sub OptionButton1_Click()
Sheets('Accueil').Range('F9') = 'Monsieur'
End Sub
_______________________________________________
Private Sub OptionButton2_Click()
Sheets('Accueil').Range('F9') = 'Madame'
End Sub
_______________________________________________
Private Sub OptionButton3_Click()
Sheets('Accueil').Range('F9') = 'Mademoiselle'
End Sub
_______________________________________________
Private Sub OptionButton4_Click()
Sheets('Accueil').Range('F9') = 'Enfant'
End Sub
_______________________________________________

En fait je souhaiterai que les optionButton soit cochés avec la validation, sinon mettre le message d'erreur 'vous devez indiquer le sexe !...
J'ai un autre problème sur le CommandButton2 ou il faut avertir de l'effacement total des données et ça devrait être OUI(OK) ou NON(ECHAP ou ANNULER), moi pour l'instant c'est OUI sans autre possibilité.

Si l'un de vous peut m'aider je l'en remercie d'avance.
 

Marboi

XLDnaute Occasionnel
Re : Imposer Click OptionButton avant validation[RESOLU]

Bonjour le forum,
Bon, à force de rechercher un peu partout sur le site et sur le net en général, j'ai fini par trouver ce dont j'avais besoin (bon d'accord, j'ai mis à peu près 4 jours, mais ça marche !...). Les OptionButton fonctionnent bien maintenant et j'ai réussi à trouver la macro pour la mise en garde avant effacement.
Bonne journée.

PS. Très bien le nouveau look du forum.
 

Discussions similaires

Statistiques des forums

Discussions
312 611
Messages
2 090 221
Membres
104 452
dernier inscrit
hamzamounir