Checkbox USF

  • Initiateur de la discussion VBA_MOI_APPRENDRE
  • Date de début
V

VBA_MOI_APPRENDRE

Guest
Bonjour

Contexte
Un userform
avec des textbox et des checkbox (3)
Une feuille qui accueille les données saisies dans l'usf

L'orsqu'on initialise l'usf
Les textbox se remplissent des valeurs des cellules de la feuille
(ca c'est ok)

Mais comment récupérer la valeur des checkbox stockées dans la feuille?


Je n'ai pas le bout de code de mon classeur sous la main.

Merci de m'aider
 
V

VBA_MOI_APPRENDRE

Guest
Pour être plus précis
Mais ca ne fonctionne pas
'=======================================
'Code original:
'http://www.excel-it.com/
'Nom du classeur: populate_userform.xls
'=======================================
Private Sub CommandButton1_Click()
Dim CL2 As Range
Set CL2 = ActiveCell.Offset(1, 0)
Application.ScreenUpdating = False
CL2.Select
If CL2.Value = '' Then
TextBox1.Value = 'Cellule non renseignée'
TextBox2.Value = ''
Else
TextBox1.Value = CL2.Value
TextBox2.Value = CL2.Offset(0, 1).Value
End If
'Application.ScreenUpdating = True
End Sub
Private Sub UserForm_Initialize()
Dim CL1 As Range
Set CL1 = ActiveCell
TextBox1.Value = CL1.Value
TextBox2.Value = CL1.Offset(0, 1).Value
If CL1.Offset(0, 3).Value = 'FAUX' Then
CheckBox1.Value = False
Else
CheckBox1.Value = True
End If
End Sub
 
V

VBA_MOI_APPRENDRE

Guest
RESULTAT RECHERCHE:
Lorsque le USF s'affiche il recupère les valeurs dans les cellules d'une feuille.
(ex en Ax du texte, en Bx un date, en Cx la valeur de la case à cocher quand on remplit la feuille en utilisant le USF
Ex:
A1=Dupond, B1= 01/01/05, C1= VRAI (car la case a été cochée dans l' USF lors de la saisie)

Donc si on afficje le USF on aura
TextBox1.Value= Dupond
TexTBox2.Value= 01/01/05
et chechbox1 sera automatiquement cochée.

Voila.

Merci d'avance
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Bonjour

Juste un petit truc

dans ta macro

Private Sub UserForm_Initialize()
Dim CL1 As Range
Set CL1 = ActiveCell
TextBox1.Value = CL1.Value
TextBox2.Value = CL1.Offset(0, 1).Value
If CL1.Offset(0, 3).Value = 'FAUX' Then '<===Ici c'est ta cellule active + 3 colonnes
CheckBox1.Value = False
Else
CheckBox1.Value = True
End If
End Sub

Alors que dans ton post tu dis

A1=Dupond, B1= 01/01/05, C1= VRAI mais C1 c'est cellule + 2colonnes

Voilà voilou mais je ne sia spas si c'est cela

Message édité par: Pascal76, à: 23/06/2005 15:18
 
V

VBA_MOI_APPRENDRE

Guest
Effectivement mais même en modifiant
la case à cocher est toujours cochée lorque que j'affiche l'USF
(même si la cellule Cx la valeur est FAUX)
Private Sub CommandButton1_Click()
Dim CL2 As Range
Set CL2 = ActiveCell.Offset(1, 0)
Application.ScreenUpdating = False
CL2.Select
If CL2.Value = '' Then
TextBox1.Value = 'Cellule non renseignée'
TextBox2.Value = ''
Else
TextBox1.Value = CL2.Value
TextBox2.Value = CL2.Offset(0, 1).Value
If CL2.Offset(0, 2).Value = 'VRAI' Then CheckBox1.Value = True
If CL2.Offset(0, 2).Value = 'FAUX' Then CheckBox1.Value = False
End If

'Application.ScreenUpdating = True
End Sub
Private Sub UserForm_Initialize()
Dim CL1 As Range
Set CL1 = ActiveCell
TextBox1.Value = CL1.Value
TextBox2.Value = CL1.Offset(0, 1).Value
If CL1.Offset(0, 2).Value = 'FAUX' Then
CheckBox1.Value = False
Else
CheckBox1.Value = True
End If
End Sub
 
V

VBA_MOI_APPRENDRE

Guest
Je vais essayer d'etre plus clair
1 USF avec x TextBox (disons 5 pour l'exemple)
avec x CheckBox (disons 3 pour l'exemple)
1 commandButton

1) Sub SHUSF()
Load UserForm1
UserForm1.Show
En Sub
A ce moment dans UserForm1_Initialize
Récupération des données dans la feuille
(ligne à ligne)
Ce qui donne:
Les TextBox affichent les valeurs des cellules adéquates
Les CheckBox sont cochées ou pas selon la valeur trouvée dans
les cellules liées au checkbox

(Lorque qu'on clique sur le commandButton, nommé SUIVANT par exemple)on passe à la ligne suivante
Les TextBox sont actualisés ainsi que les checkBox
Exemple:
Ligne 1: AAA, 01/01/05, 1TESTA1, 1TESTA1, zzA, FAUX, FAUX, VRAI
Ligne 2: BBB, 02/01/05, 2TESTA2, 2TESTA2, zzB, VRAI, VRAI, VRAI
Donc quand le USF s'affiche on a:
TextBox1=AAA --> TextBox5= zzA
ChecBox1 non cochée
' '2 ' '
' ' 3 cochée
On appuie sur SUIVANT et la on a:
TextBox1=BBB --> TextBox5= zzB
ChecBox1 cochée
' '2 ' cochée
' ' 3 cochée
etc etc

J'espère etre clair

Merci
 
V

VBA_MOI_APPRENDRE

Guest
Voila le fichier joint [file name=populate_userform.zip size=24736]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/populate_userform.zip[/file]
 

Pièces jointes

  • populate_userform.zip
    24.2 KB · Affichages: 67
V

VBA_MOI_APPRENDRE

Guest
C'est plutot vers cela que je voudrais aboutir
Lien supprimé

mais avec des CheckBox

Je vais étudier ce classeur de plus près et essayer
de rajouter des checkbox.


Si quelqu'un a d'autres pistes, merci
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re

Voici ton fichier modifié

Le petit hic était sur la ligne

If CL1.Offset(0, 2).Value = 'FAUX' Then

il fallait

If CL1.Offset(0, 2).Value = FAUX Then

Bon courage [file name=populate_userform_20050623161147.zip size=24356]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/populate_userform_20050623161147.zip[/file]
 

Pièces jointes

  • populate_userform_20050623161147.zip
    23.8 KB · Affichages: 64

PascalXLD

XLDnaute Barbatruc
Modérateur
Re

Il faut aussi changer le

Private Sub CommandButton1_Click()
Dim CL2 As Range
Set CL2 = ActiveCell.Offset(1, 0)
Application.ScreenUpdating = False
CL2.Select
If CL2.Value = '' Then
TextBox1.Value = 'Cellule non renseignée'
TextBox2.Value = ''
Else
TextBox1.Value = CL2.Value
TextBox2.Value = CL2.Offset(0, 1).Value
If CL2.Offset(0, 2).Value = VRAI Then '<===== ICI
CheckBox1.Value = True
else
CheckBox1.Value = False
end if
End If
 
V

VBA_MOI_APPRENDRE

Guest
Colonne1 2 3
Test1 Test1a VRAI
test2 Test2a VRAI
Test3 test3a FAUX
Jack in the UK FAUX
royUK rules VRAI


Si je double clique sur Test3

Dans l'userform la checkbox est cochée ?

Je comprends pas pourquoi
(code utilisé)
Private Sub UserForm_Initialize()
...
If CL1.Offset(0, 2).Value = VRAI Then
CheckBox1.Value = True
Else
CheckBox1.Value = False
End If
End Sub
Private Sub CommandButton1_Click()
...
If CL2.Offset(0, 2).Value = VRAI Then '<===== ICI
CheckBox1.Value = True
Else
CheckBox1.Value = False
End If
End If
End Sub
 

Discussions similaires

Réponses
19
Affichages
1 K

Statistiques des forums

Discussions
312 278
Messages
2 086 717
Membres
103 378
dernier inscrit
phdrouart