Option button et frame avec textbox

riccardovegas

XLDnaute Junior
Bonjour,
je souhaiterai comntinuer un userform que j'ai fait : F05_BULLETINDEFREINAGE
cf fichier joint

le problème est que j'ai réussi pour les autre userform mais pas ici à recupérer les valeur de options depuis les cellule concerné
par exemple lorsque je clique sur la cellule N6, mon userform F05_BULLETINDEFREINAGE s'ouvre , il lit les valeur déjà présente, mais je n'arrive pas à lire les valeur des cellule P6 à R6.
De même comment faire pour renvoyer mes valeur des option button lorsque je valide sur le bouton OK1.

Si quelqu'un pouvait maiguiller
 

Pièces jointes

  • THERMO SA 2015 (2).xlsm
    117.1 KB · Affichages: 34
  • THERMO SA 2015 (2).xlsm
    117.1 KB · Affichages: 45
  • THERMO SA 2015 (2).xlsm
    117.1 KB · Affichages: 43

Paf

XLDnaute Barbatruc
Re : Option button et frame avec textbox

Bonjour,

qu'on ait des textbox ou des OptionButton le principe est le même:

affecter la valeur des cellules aux objets (dans Private Sub UserForm_Initialize()) affecter la valeur des objets aux cellules (dans Private Sub OK1_Click()). A une différence près, les options button n'accepte que les valeurs False et True.

Code:
Private Sub UserForm_Initialize()
 F05_BULLETINDEFREINAGE.TextBox1 = ActiveCell.Offset(0, 0)
 F05_BULLETINDEFREINAGE.TextBox2 = ActiveCell.Offset(0, 1)
 OptionButton1 = ActiveCell.Offset(0, 2) = "oui"
 OptionButton2 = Not OptionButton1
 OptionButton3 = ActiveCell.Offset(0, 3) = "oui"
 OptionButton4 = Not OptionButton3

'*** à adapter pour les autres OptionButton

End Sub

Code:
Private Sub OK1_Click()
 ActiveCell.Offset(0, 0) = F05_BULLETINDEFREINAGE.TextBox1
 ActiveCell.Offset(0, 1) = F05_BULLETINDEFREINAGE.TextBox2
 ActiveCell.Offset(0, 2) = IIf(OptionButton1, "oui", "non")
 ActiveCell.Offset(0, 3) = IIf(OptionButton3, "oui", "non")
 '*** à adapter pour les autres OptionButton
 Unload Me
End Sub


le choix d'utiliser 2 objets ( ici optionButton) ( 1 pour oui et 1 pour non) pour chaque paramètre complique un peu le code, puisqu'il faut gérer ces deux optionbutton. A mon avis 1 seul suffirait, coché = oui, non coché=non, mais à ce moment il faut utiliser des checkbox et non plus des optionbutton.

par ailleurs mettre la structure de contrôle du cochage des optionbutton dans Private Sub UserForm_QueryClose(... est absurde puisque cette sub se déclenche à la fermeture de l'USF, soit APRES que l'on ait validé et écrit dans la feuille, soit si on veut annuler. Mieux vaudrait la mettre dans la sub du bouton de validation .


A+
 

riccardovegas

XLDnaute Junior
Re : Option button et frame avec textbox

Bonjour
après adaptation ca marche nickel


Private Sub UserForm_Initialize()



F05_BULLETINDEFREINAGE.TextBox1 = ActiveCell.Offset(0, 0)
F05_BULLETINDEFREINAGE.TextBox2 = ActiveCell.Offset(0, 1)
OptionButton1 = ActiveCell.Offset(0, 2) = "oui"
OptionButton2 = Not OptionButton1
OptionButton3 = ActiveCell.Offset(0, 3) = "oui"
OptionButton4 = Not OptionButton3
OptionButton5 = ActiveCell.Offset(0, 4) = "oui"
OptionButton6 = Not OptionButton5
OptionButton7 = ActiveCell.Offset(0, 5) = "oui"
OptionButton8 = Not OptionButton7
End sub


Private Sub OK1_Click()


ActiveCell.Offset(0, 0) = F05_BULLETINDEFREINAGE.TextBox1
ActiveCell.Offset(0, 1) = F05_BULLETINDEFREINAGE.TextBox2
ActiveCell.Offset(0, 2) = IIf(OptionButton1, "oui", "non")
ActiveCell.Offset(0, 3) = IIf(OptionButton3, "oui", "non")
ActiveCell.Offset(0, 4) = IIf(OptionButton5, "oui", "non")
ActiveCell.Offset(0, 5) = IIf(OptionButton1, "oui", "non")
Unload Me
End Sub


Par contre sais tu comment je peux faire pour lorsque je clique sur la cellule I6 la date par défaut ne soit pas 31/12/1899 mais plutôt la date du jour.
 

Pièces jointes

  • THERMO SA 2015.xlsm
    120.9 KB · Affichages: 26
  • THERMO SA 2015.xlsm
    120.9 KB · Affichages: 34
  • THERMO SA 2015.xlsm
    120.9 KB · Affichages: 35

natorp

XLDnaute Accro
Re : Option button et frame avec textbox

Bjr riccardovegas et paf

Dans la partie "initialize" du userform (F02_PMB) concerné :

Code:
date1.Value = Format(Now, "dd/mm/yyyy")

cordialement, Gérard
 
Dernière édition:

riccardovegas

XLDnaute Junior
Re : Option button et frame avec textbox

si je procède ainsi j'ai bien la date du jour lorsque je clique sur la cellule
par contre si la cellule est deja renseigné il ne me lit plus la cellule mais me donne la date du jour :-(

En fait il faudrait
si cellule vide alors = NOW sinon valeur de la cellule
 

Pièces jointes

  • THERMO SA 2015.xlsm
    120.9 KB · Affichages: 26
  • THERMO SA 2015.xlsm
    120.9 KB · Affichages: 37
  • THERMO SA 2015.xlsm
    120.9 KB · Affichages: 41
Dernière édition:

natorp

XLDnaute Accro
Re : Option button et frame avec textbox

Re,

à ajouter dans l'initialize :

Code:
If ActiveSheet.Cells(ActiveCell.Row, 9) = "" Then
date1.Value = Format(Now, "dd/mm/yyyy")
Else: date1.Value = Format(ActiveSheet.Cells(ActiveCell.Row, 9), "dd/mm/yyyy")
End If

Cordialement, Gérard
 

Paf

XLDnaute Barbatruc
Re : Option button et frame avec textbox

Re et bonjour natorp


Attention, dans Private Sub OK1_Click()
Code:
ActiveCell.Offset(0, 5) = IIf(OptionButton1, "oui", "non")
il faudrait plutôt
Code:
ActiveCell.Offset(0, 5) = IIf(OptionButton7, "oui", "non")

A+
 

riccardovegas

XLDnaute Junior
Re : Option button et frame avec textbox

Merci ca marche
comment puis je l'appliqué pour l'heure?

de plus en colonne AF BC etc... j'ai la meme chose qui se repete ai je fait le bon code en appliquant ce que tu m'a filé?

Private Sub UserForm_Initialize() ' Ouverture du formulaire et initialisation - PMB RAT

F02_PMB.ComboBox1.Value = ActiveCell.Offset(0, 0) ' RECUPERATION DE L INFORMATION DANS LA CELLULE : ELLE MEME

'INITIALISATION DE LA DATE - DATE DU JOUR SI CELLULE VIDE
F02_PMB.date1.Value = ActiveCell.Offset(0, 1)

'RECEPTION
If ActiveSheet.Cells(ActiveCell.Row, 9) = "" Then
date1.Value = Format(Now, "dd/mm/yyyy")
Else: date1.Value = Format(ActiveSheet.Cells(ActiveCell.Row, 9), "dd/mm/yyyy")
End If
F02_PMB.heure1 = ActiveCell.Offset(0, 2)

'RELAIS
If ActiveSheet.Cells(ActiveCell.Row, 32) = "" Then
date1.Value = Format(Now, "dd/mm/yyyy")
Else: date1.Value = Format(ActiveSheet.Cells(ActiveCell.Row, 32), "dd/mm/yyyy")
End If
F02_PMB.heure1 = ActiveCell.Offset(0, 2)

'DEPART
If ActiveSheet.Cells(ActiveCell.Row, 55) = "" Then
date1.Value = Format(Now, "dd/mm/yyyy")
Else: date1.Value = Format(ActiveSheet.Cells(ActiveCell.Row, 55), "dd/mm/yyyy")
End If
F02_PMB.heure1 = ActiveCell.Offset(0, 2)

'DEBRANCHEMENT
If ActiveSheet.Cells(ActiveCell.Row, 78) = "" Then
date1.Value = Format(Now, "dd/mm/yyyy")
Else: date1.Value = Format(ActiveSheet.Cells(ActiveCell.Row, 78), "dd/mm/yyyy")
End If

'INITIALISATION DE L HEURE - HEURE DU JOUR SI CELLULE VIDE
F02_PMB.heure1 = ActiveCell.Offset(0, 2) ' RECUPERATION DE L INFORMATION DANS LA CELLULE : ELLE MEME





End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 400
Messages
2 088 083
Membres
103 710
dernier inscrit
amin Saadaoui