problème de choix optionbouton sur userform

luckiluc

XLDnaute Nouveau
Bonjour le forum,

J’ai encore besoins d’aide !
Dans mon userform2 j’ai un textbox2 dans lequel je marque un chiffre (exemple 10) qui alimente une cellule (ex : B9 dans ma feuille sélectionné par l intermédiaire d’une listbox)
J’ai crée deux optionbouton et j’aimerais que si je clic sur option bouton 1
« ajouter »alors je marque le chiffre de textbox2 dans ma cellule et si je clic sur option bouton 2 « déduire » alors que sa me fasse non pas 10
mais < -10 > de manière a déduire ce chiffre dans ma cellule (la cellule D et remplis par une autre textbox)ex :
a ..... B ..... c..... D..... total
........ 10..............1.......11 (bouton1)
........ -5 .............15 ....10 (bouton2)
Quel est le code pour mes deux optionbouton ?:confused:

Par avance merci :D
 
Dernière édition:

luckiluc

XLDnaute Nouveau
Re : problème de choix optionbouton sur userform

je sais pas si en mettent le code cela sera plus clair !?

Code:
Private Sub OptionButtonpositif_Click()

End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then Cancel = True ' fermeture par la croix impossible
End Sub


Sub Selectionfeuille(ByVal N As Integer) ' rajouter pour ma listbox coef


   Select Case N
      Case 0
           TextBox3.Text = "2"
        Case 1
            TextBox3.Text = "1"
        Case 2
            TextBox3.Text = "2"
        Case 3
            TextBox3.Text = "2"
        Case 4
            TextBox3.Text = "1"
        Case 5
            TextBox3.Text = "1"
        Case 6
            TextBox3.Text = "2"
            
    End Select
End Sub
 
Private Sub actualiseruserform2_Click()
Unload UserForm2
UserForm2.Show
End Sub

Private Sub Commandeffacer_Click() ' efface une ligne de l'agent
On Error GoTo erreur
If TextBox1 = " " Then
MsgBox ("Merci d'indiquer une ligne")

End If
If MsgBox("Etes vous sûr de supprimer cette ligne?", vbYesNo) = vbYes Then Rows(Val(TextBox6)).Delete
Unload UserForm2 ' mise a jour userform
UserForm2.Show

Exit Sub
erreur:
MsgBox ("Il faut indiquer un nombre pour une ligne.")

End Sub

Sub initialise() 'remet à zéro l'UF

Unload UserForm1
UserForm1.Show
End Sub

Private Sub Commandsuprimer_Click() 'suprime feuille selectionner dans la liste
Dim WS As Worksheet
Set WS = Worksheets(ListBox1.Value)
WS.Delete
Unload UserForm2
UserForm2.Show
End Sub

Private Sub creerfeuillebox_Click() ' appelle le module
ajout_clients2
End Sub

Private Sub Combobox2_Click() 'pour le coef

Dim N As Integer
 
N = Me.ComboBox2.ListIndex

Call Selectionfeuille(N)
End Sub


Private Sub impression_Click()
Unload UserForm2
     ActiveSheet.PageSetup.PrintArea = "a2:j37"
    With ActiveSheet.PageSetup

        .LeftHeader = ""
        .CenterHeader = ""
        .RightHeader = ""
        .LeftFooter = ""
        .CenterFooter = ""
        .RightFooter = ""
        .LeftMargin = Application.InchesToPoints(0.78740157480315)
        .RightMargin = Application.InchesToPoints(0.78740157480315)
        .TopMargin = Application.InchesToPoints(0.984251968503937)
        .BottomMargin = Application.InchesToPoints(0.984251968503937)
        .HeaderMargin = Application.InchesToPoints(0.511811023622047)
        .FooterMargin = Application.InchesToPoints(0.511811023622047)
        .PrintHeadings = False
        .PrintGridlines = False
        .CenterHorizontally = False
        .CenterVertically = False
        .PaperSize = xlPaperA4



    End With
    ActiveWindow.SelectedSheets.PrintPreview
   ActiveWindow.SelectedSheets.PrintOut Copies:=1
   UserForm2.Show
End Sub
   


Private Sub TextBox1_Change() ' m'est au format date textbox1
Dim Val As Byte
TextBox1.MaxLength = 10 'nb caractères maxi autorisé dans le textbox
Val = Len(TextBox1)
If Val = 2 Or Val = 5 Then TextBox1 = TextBox1 & "/"
End Sub

   Private Sub UserForm_Initialize() ' pour le coef


ComboBox2.Clear
ComboBox2.AddItem "Dimanche" 'rajout des additem pour liste non automatique coéf
ComboBox2.AddItem "Horaire normal"
ComboBox2.AddItem "Jours Férié"
ComboBox2.AddItem "Nuit"
ComboBox2.AddItem "Récupération"
ComboBox2.AddItem "Service Ordre normal"
ComboBox2.AddItem "Service Ordre renfort"


   
    Dim WS As Worksheet ' code donner par hulk cacher feuille original( merci hulk)

    ListBox1.Clear

    For Each WS In Worksheets
        If WS.Name <> ("original") Then ListBox1.AddItem WS.Name
    Next

End Sub

Private Sub ListBox1_Click() 'liste agent suite du code par hulk
    
    Sheets(ListBox1.Value).Activate
Me.TextBox5.Value = ActiveSheet.Range("j3").Value ' copie ma celulle résultat dans ma textbox
Me.TextBox7.Value = ActiveSheet.Name ' ecris le nom de la feuille textbox
End Sub



Private Sub CommandButton1_Click() ' valider mes optionbouton

If Not (OptionButton1 Or OptionButton2) Then
    MsgBox "Vous devez indiquer si les heures sont à ajouter ou à déduire !", vbExclamation, _
"ERREUR ...!"
    OptionButton1.SetFocus
    Exit Sub
    End If
    
    
    
    
Selection.Insert Shift:=xlDown ' copie la ligne 10 sur la ligne 9
    Rows("9:9").Select
    Selection.Copy
    Rows("10:10").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False

Range("a9") = CDate(TextBox1.Value) ' TextBox1.Value  ' CDate(TextBox1.Value)par le userform ecrie dans la cellule format date
Range("b9") = TextBox2.Value   ' heure saisir
Range("c9") = ComboBox2.Value  ' saisie liste dimanche etc.
Range("d9") = TextBox3.Value    ' affiche coef automatique grace combobox2
Range("e9") = TextBox4.Value    ' saisie texte motif heure
TextBox1.Text = ""
TextBox3.Text = ""
TextBox2.Text = ""
TextBox4.Text = ""
TextBox7.Text = ""
'Range("a9").NumberFormat = "d/m/yy"
 
   
If OptionButton1.Value = True Then 'c est la que j ai un problème
    ' rien mettre
End If
If OptionButton2.Value = True Then 'condition : si le bouton d'option 2 est coché je veut que sa me fasse une soutraction comme si j incris -10 a la place de 10 dans textbox2
    'mettre le code pour
End If

 
 
Unload UserForm2
UserForm2.Show

End Sub


Private Sub quitter_Click()
Excel.Application.Visible = True
End
End Sub

Private Sub retouruserform1_Click()
ActiveWorkbook.Save
Excel.Application.Visible = False
Unload UserForm2
UserForm1.Show

End Sub
 

luckiluc

XLDnaute Nouveau
Re : problème de choix optionbouton sur userform

voila mon fichier en entier
fichier enlever du site de téléchargement
désolé si dedant c'est confus mais vu que tous se que j'y est mis je l'ai trouvé sur internet faudra faire le tri
 
Dernière édition:

luckiluc

XLDnaute Nouveau
Re : problème de choix optionbouton sur userform

bonjour le forum, bonjour job75
sacher que j'ai aprecier votre coup de main pour mon projet planning
toutefois pour votre remarque aujourd'huit =es-un compliment reel ou du foutage de geule?

Bonsoir luckiluc,



Très drôle :rolleyes:

On commence par un petit problème hypersimple avec 2 OptionButtons.

Ensuite, on nous balance tranquilos une macro de 150 lignes.

Et on finit sur un fichier improbable.

Tous mes compliments luckiluc pour cette géniale progression.

A+
mon fichier marche trés bien. désolé de ne pas avoir la compétance de certain pour ecrire seul mes codes! je demande juste si a partir d'un optionbouton on peut mettre le résulta d'un textbox en négatif ou positif
la macro de "150 ligne" et en grande partie fabriquer grace a se site car je fait du copier coller et pour information il y a un mois je ne savait pas se que voulais dire un userform et mon fichier marche bien si je mais dans ma textbox le signe "-" il me mais mon résultat en négatif sur ma feuille j'aurais aimer pouvoir le faire avec des optionbouton si c est nest pas possible il suffit de me le dire et je ferais sans

je n'est pas demander a qui que se soit de me corriger mon classeur :mad:
juste de répondre a ma question
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : problème de choix optionbouton sur userform

Bonjour luckiluc,

Je me suis payé votre tête, c'est vrai.

Pour essayer de me faire pardonner, voici une solution au problème posé.

L'évènement OptionButton1_Click ne parait pas adapté à la situation, car si l'on clique sur un OptionButton déjà activé, il ne se passe rien.

Pour renseigner la cellule B9, il vaut mieux utiliser un CommandButton avec ce code :

Code:
Private Sub CommandButton1_Click()
Dim v As Double
v = Val(Replace(TextBox2, ",", "."))
If OptionButton1 Then [B9] = v
If OptionButton2 Then [B9] = -v
End Sub

Si à la place de [B9] on veut une variable définie dans une autre macro de l'UserForm, il faut que cette variable soit déclarée en haut de la page de code.

A+
 

luckiluc

XLDnaute Nouveau
Re : problème de choix optionbouton sur userform

bonjour à tous
job75 merci pour le coup de main
je viens de mettre votre code mais en resultat il me marque 0 dans ma cellule
quel que soit le chiffre mis dans textbox2 ou l'optionbouton cocher
Code:
 10 février 2009	[COLOR="Red"]0[/COLOR]	Horaire normal	1	1	0
 

Lii

XLDnaute Impliqué
Re : problème de choix optionbouton sur userform

Salut,

pour renseigner B9, sachant que la "TextBox" contient bien une valeur numérique et que tu gardes tes 2 boutons d'option, rajoute simplement la ligne en gras :
Code:
...
Range("b9") = TextBox[COLOR=Red]2[/COLOR].Value
[B]If OptionButton2 Then Range("b9") = -Range("b9")[/B]
...
Remarque : au tout début, je ne voulais pas intervenir, n'acceptant plus de répondre aux messages de ce genre. Tes explications concernant ton niveau et la dernière intervention de Job ;) m'ont fait changer d'avis.
Je me demande quand même si ces 2 boutons sont nécessaires. Une case à cocher, ne suffirait-elle pas ?
N'étant pas extralucide, je me peux pas t'en dire plus.
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : problème de choix optionbouton sur userform

Rebonjour, salut Lii :)

Avec mon code, [B9] prend la valeur 0 si la valeur entrée dans la TextBox n'est pas numérique ou si TextBox2 n'existe pas.

Vérifiez le nom de la TextBox, ce doit être TextBox2.

A+
 

luckiluc

XLDnaute Nouveau
Re : problème de choix optionbouton sur userform

bonjour le fil , job75, lii

job 75 vous pouvez voir dans mon code au dessus que mon textbox et bien noter textbox2
Valeur numérique ? Si je rendre un chiffre ex : 5 c’est une valeur numérique
Par contre peut être que ma manière de procédé pour crée le code peut faire beuguer votre instruction ??

lii j’essayerai votre code des se soir
j'ai laisser dans un de mes message précédent le lien permettant de récupérer mon classeur, je l'ai poser sur le site de "rapidshare" si vous voulez le voir
Effectivement mon niveau pour crée ce type de classeur est très bas mais j'essaye d’apprendre. Pour l'instant je copie des bout de code que je colle dans des bloc-note a avec lequel ensuite je monte le classeur pour l'instant cette méthode marche mais il est certain que cela parais confus pour une personne qui crée en v.b
Merci a vous pour vos réponses
 

Lii

XLDnaute Impliqué
Re : problème de choix optionbouton sur userform

Re,

pour ma proposition précédente : dans l'UserFom2,
Code:
Private Sub CommandButton1_Click()  ' valider mes optionbouton
 [I][B] If Not (OptionButton1 Or OptionButton2) Then
    MsgBox "Vous devez indiquer si les heures sont à ajouter ou à déduire !", vbExclamation, _
           "ERREUR ...!"
    OptionButton1.SetFocus
    Exit Sub[/B][/I]
  End If
  Selection.Insert Shift:=xlDown  ' copie la ligne 10 sur la ligne 9
  Rows("9:9").Select
  Selection.Copy
  Rows("10:10").Select
  ActiveSheet.Paste
  Application.CutCopyMode = False

  Range("a9") = CDate(TextBox1.Value)  ' TextBox1.Value  ' CDate(TextBox1.Value)par le userform ecrie dans la cellule format date
  Range("b9") = TextBox2.Value   ' heure saisir
  [B]If OptionButton2 Then Range("b9") = -Range("b9")[/B]
  Range("c9") = ComboBox2.Value 
...
 ...
Tu oublies de tester des données non renseignées (l'agent notamment) ou mal renseignées (Textbox2 doit-être numérique)

Je n'ai pas regardé le reste !
 
Dernière édition:

luckiluc

XLDnaute Nouveau
Re : problème de choix optionbouton sur userform

bonsoir à tous ,
Lii vous êtes un champion sa marche impeccable grâce a vous je viens de finir mon classeur RTT Récup, je suis content que vous ayez pris la résolution d’intervenir, j'espère dans un avenir proche pouvoir moi aussi aidée un peut, dans l'attente je suis content que des gens comme vous prennent le temps d'aidé des gens comme moi.

hulk et job75 (je ne vous oublie pas) merci à vous aussi pour le coup de main.
 

Discussions similaires

Statistiques des forums

Discussions
312 389
Messages
2 087 933
Membres
103 678
dernier inscrit
bibitm