OVH Cloud OVH Cloud

blocage de cellule

8 réponses
Avatar
pat
bonsoir à tous,

j'ai un tableau ou l'on rentre des données via des macros.Des boutons de
commandes déclenchent des userforms et il n'y a plus qu'a remplir les texboxs.

Cela facilite donc le remplissage de mon tableau mais n'évite pas toutes les
erreurs, malheureusement!

je voudrais donc, integrer dans mes macros une macro-commande qui bloquerait
ou empecherait de remplir certaines cellules si d'autres sont vides.

besoin d'aide,merci,
pat
En plus il faut

8 réponses

Avatar
lSteph
Bonsoir Pat,

Tu touches au principe de contrôle de validation, à partir du userform
donc serait amha le bon le point de départ
setfocus et le maintenir de textbox en textbox jusqu'à validation par
commandbutton qui renverra la saisie dans toutes
les cellules nécessaires et dans l'alternative revient à setfocus
(mettre quand même un bouton cancel si l'utilisateur veut (annuler) sortir).

lSteph

"pat" a écrit dans le message de news:

bonsoir à tous,

j'ai un tableau ou l'on rentre des données via des macros.Des boutons de
commandes déclenchent des userforms et il n'y a plus qu'a remplir les
texboxs.

Cela facilite donc le remplissage de mon tableau mais n'évite pas toutes
les
erreurs, malheureusement!

je voudrais donc, integrer dans mes macros une macro-commande qui
bloquerait
ou empecherait de remplir certaines cellules si d'autres sont vides.

besoin d'aide,merci,
pat
En plus il faut





Avatar
pat
bonsoir Steph,

désolé je suis pas un expert de vba .Peux tu préciser car le principe de
validation je vois un peu ce que tu veux dire mais "amha" et "setfocus" je
connais pas du tout ces termes et comment ça fonctionne.
validation je m'en sert de temps en temps dans excel, mais je ne vois pas
comment indiqué la condition de cellule vide et en plus ça ne fonctionne pas
lorsque la cellule est rempli par un texbox via vba.

merci,


Bonsoir Pat,

Tu touches au principe de contrôle de validation, à partir du userform
donc serait amha le bon le point de départ
setfocus et le maintenir de textbox en textbox jusqu'à validation par
commandbutton qui renverra la saisie dans toutes
les cellules nécessaires et dans l'alternative revient à setfocus
(mettre quand même un bouton cancel si l'utilisateur veut (annuler) sortir).

lSteph

"pat" a écrit dans le message de news:

bonsoir à tous,

j'ai un tableau ou l'on rentre des données via des macros.Des boutons de
commandes déclenchent des userforms et il n'y a plus qu'a remplir les
texboxs.

Cela facilite donc le remplissage de mon tableau mais n'évite pas toutes
les
erreurs, malheureusement!

je voudrais donc, integrer dans mes macros une macro-commande qui
bloquerait
ou empecherait de remplir certaines cellules si d'autres sont vides.

besoin d'aide,merci,
pat
En plus il faut










Avatar
lSteph
..oui, pardon,
instaurer un contrôle de validation
repose sur le fait qu'avant de renvoyer les valeurs saisies dans le userform
on s'assure de la complétude des données
amha: à mon humble avis
Si comme tu l'indiques tu remplis tes cellules à partir d'un userform
vba tu l'utilises nécéssairement un peu, donc pour remplir tes cellules à
partir d'un userform

setfocus:
envoie le focus sur le contrôle voulu,

Quand on active le commandbutton
si
tous les textbox ne sont pas remplis
on remet le focus sur un textbox (le premier trouvé vide)
sinon
on renvoie les valeurs vers la feuille

...je reviens avec un exemple.

lSteph

"pat" a écrit dans le message de news:

bonsoir Steph,

désolé je suis pas un expert de vba .Peux tu préciser car le principe de
validation je vois un peu ce que tu veux dire mais "amha" et "setfocus" je
connais pas du tout ces termes et comment ça fonctionne.
validation je m'en sert de temps en temps dans excel, mais je ne vois pas
comment indiqué la condition de cellule vide et en plus ça ne fonctionne
pas
lorsque la cellule est rempli par un texbox via vba.

merci,


Bonsoir Pat,

Tu touches au principe de contrôle de validation, à partir du userform
donc serait amha le bon le point de départ
setfocus et le maintenir de textbox en textbox jusqu'à validation par
commandbutton qui renverra la saisie dans toutes
les cellules nécessaires et dans l'alternative revient à setfocus
(mettre quand même un bouton cancel si l'utilisateur veut (annuler)
sortir).

lSteph

"pat" a écrit dans le message de news:

bonsoir à tous,

j'ai un tableau ou l'on rentre des données via des macros.Des boutons
de
commandes déclenchent des userforms et il n'y a plus qu'a remplir les
texboxs.

Cela facilite donc le remplissage de mon tableau mais n'évite pas
toutes
les
erreurs, malheureusement!

je voudrais donc, integrer dans mes macros une macro-commande qui
bloquerait
ou empecherait de remplir certaines cellules si d'autres sont vides.

besoin d'aide,merci,
pat
En plus il faut












Avatar
lSteph
re,
exemple avec un userform contenant deux textbox et un commandbutton
destiné à remplir les cellules a1 et a2 avec des valeurs
(si texte on mettra 0)

Private Sub CommandButton1_Click()
If TextBox1 = "" Then TextBox1.SetFocus: Exit Sub
If TextBox2 = "" Then TextBox2.SetFocus: Exit Sub
[a1] = Val(TextBox1)
[a2] = Val(TextBox2)
Unload Me
End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub


Private Sub UserForm_Initialize()
TextBox1.SetFocus
End Sub



'lSteph

"pat" a écrit dans le message de news:

bonsoir Steph,

désolé je suis pas un expert de vba .Peux tu préciser car le principe de
validation je vois un peu ce que tu veux dire mais "amha" et "setfocus" je
connais pas du tout ces termes et comment ça fonctionne.
validation je m'en sert de temps en temps dans excel, mais je ne vois pas
comment indiqué la condition de cellule vide et en plus ça ne fonctionne
pas
lorsque la cellule est rempli par un texbox via vba.

merci,


Bonsoir Pat,

Tu touches au principe de contrôle de validation, à partir du userform
donc serait amha le bon le point de départ
setfocus et le maintenir de textbox en textbox jusqu'à validation par
commandbutton qui renverra la saisie dans toutes
les cellules nécessaires et dans l'alternative revient à setfocus
(mettre quand même un bouton cancel si l'utilisateur veut (annuler)
sortir).

lSteph

"pat" a écrit dans le message de news:

bonsoir à tous,

j'ai un tableau ou l'on rentre des données via des macros.Des boutons
de
commandes déclenchent des userforms et il n'y a plus qu'a remplir les
texboxs.

Cela facilite donc le remplissage de mon tableau mais n'évite pas
toutes
les
erreurs, malheureusement!

je voudrais donc, integrer dans mes macros une macro-commande qui
bloquerait
ou empecherait de remplir certaines cellules si d'autres sont vides.

besoin d'aide,merci,
pat
En plus il faut












Avatar
JB
Bonjour,


Exemple de controle de saiie: http://cjoint.com/?igjbu17mdt

-On ne peut saisir le prénom et le salaire ont été saisis
-On ne peut valider que si toutes les zones ont étés saisies

Private Sub Nom_Change()
If Me.Nom <> "" Then
Me.Prénom.Enabled = True
Me.Salaire.Enabled = True
Me.Prénom.BackColor = vbWhite
Me.Salaire.BackColor = vbWhite
End If
End Sub

Private Sub Prénom_Change()
controle
End Sub

Private Sub Salaire_Change()
controle
If Me.Salaire <> "" And Not IsNumeric(Me.Salaire) Then
MsgBox "Saisir du num"
End If
End Sub

Sub controle()
If Me.Prénom <> "" And Me.Salaire <> "" Then
Me.B_ok.Enabled = True
End If
End Sub

Private Sub B_ok_Click()
[A65000].End(xlUp).Offset(1, 0).Select
ActiveCell = UCase(Me.Nom)
ActiveCell.Offset(0, 1) = Application.Proper(Me.Prénom)
ActiveCell.Offset(0, 2) = CDbl(Me.Salaire)
[A2:C1000].Sort key1:=[A2]
raz
End Sub

Sub raz()
Me.Nom = ""
Me.Prénom = ""
Me.Salaire = ""
Me.Prénom.Enabled = False
Me.Salaire.Enabled = False
Me.Prénom.BackColor = Me.BackColor
Me.Salaire.BackColor = Me.BackColor
Me.B_ok.Enabled = False
End Sub

Cordialement JB



bonsoir à tous,

j'ai un tableau ou l'on rentre des données via des macros.Des boutons de
commandes déclenchent des userforms et il n'y a plus qu'a remplir les t exboxs.

Cela facilite donc le remplissage de mon tableau mais n'évite pas toute s les
erreurs, malheureusement!

je voudrais donc, integrer dans mes macros une macro-commande qui bloquer ait
ou empecherait de remplir certaines cellules si d'autres sont vides.

besoin d'aide,merci,
pat
En plus il faut


Avatar
pat
merci à tous les deux pour vos exemples,

par contre dans mon cas le contrôle de la cellule se fait non pas
directement dans l'userform mais sur une cellule du tableau.
et la difficulté supplémentaire c'est que la cellule qui doit être vérifier
n'est pas toujours la même, elle varie suivant celle que je veux remplir
justement.
Est ce qu'il y a possibilité de vous transmettre mon fichier?
je pense que vous comprendriez mieux que par mes explications peut être un
peu trop vague!
comment à tu fais JB? tu peux m'indiquez la marche à suivre?

A+ pat




Bonjour,


Exemple de controle de saiie: http://cjoint.com/?igjbu17mdt

-On ne peut saisir le prénom et le salaire ont été saisis
-On ne peut valider que si toutes les zones ont étés saisies

Private Sub Nom_Change()
If Me.Nom <> "" Then
Me.Prénom.Enabled = True
Me.Salaire.Enabled = True
Me.Prénom.BackColor = vbWhite
Me.Salaire.BackColor = vbWhite
End If
End Sub

Private Sub Prénom_Change()
controle
End Sub

Private Sub Salaire_Change()
controle
If Me.Salaire <> "" And Not IsNumeric(Me.Salaire) Then
MsgBox "Saisir du num"
End If
End Sub

Sub controle()
If Me.Prénom <> "" And Me.Salaire <> "" Then
Me.B_ok.Enabled = True
End If
End Sub

Private Sub B_ok_Click()
[A65000].End(xlUp).Offset(1, 0).Select
ActiveCell = UCase(Me.Nom)
ActiveCell.Offset(0, 1) = Application.Proper(Me.Prénom)
ActiveCell.Offset(0, 2) = CDbl(Me.Salaire)
[A2:C1000].Sort key1:=[A2]
raz
End Sub

Sub raz()
Me.Nom = ""
Me.Prénom = ""
Me.Salaire = ""
Me.Prénom.Enabled = False
Me.Salaire.Enabled = False
Me.Prénom.BackColor = Me.BackColor
Me.Salaire.BackColor = Me.BackColor
Me.B_ok.Enabled = False
End Sub

Cordialement JB



bonsoir à tous,

j'ai un tableau ou l'on rentre des données via des macros.Des boutons de
commandes déclenchent des userforms et il n'y a plus qu'a remplir les texboxs.

Cela facilite donc le remplissage de mon tableau mais n'évite pas toutes les
erreurs, malheureusement!

je voudrais donc, integrer dans mes macros une macro-commande qui bloquerait
ou empecherait de remplir certaines cellules si d'autres sont vides.

besoin d'aide,merci,
pat
En plus il faut






Avatar
JB
Aller sur le site: http://cjoint.com

JB

merci à tous les deux pour vos exemples,

par contre dans mon cas le contrôle de la cellule se fait non pas
directement dans l'userform mais sur une cellule du tableau.
et la difficulté supplémentaire c'est que la cellule qui doit être vérifier
n'est pas toujours la même, elle varie suivant celle que je veux remplir
justement.
Est ce qu'il y a possibilité de vous transmettre mon fichier?
je pense que vous comprendriez mieux que par mes explications peut être un
peu trop vague!
comment à tu fais JB? tu peux m'indiquez la marche à suivre?

A+ pat




Bonjour,


Exemple de controle de saiie: http://cjoint.com/?igjbu17mdt

-On ne peut saisir le prénom et le salaire ont été saisis
-On ne peut valider que si toutes les zones ont étés saisies

Private Sub Nom_Change()
If Me.Nom <> "" Then
Me.Prénom.Enabled = True
Me.Salaire.Enabled = True
Me.Prénom.BackColor = vbWhite
Me.Salaire.BackColor = vbWhite
End If
End Sub

Private Sub Prénom_Change()
controle
End Sub

Private Sub Salaire_Change()
controle
If Me.Salaire <> "" And Not IsNumeric(Me.Salaire) Then
MsgBox "Saisir du num"
End If
End Sub

Sub controle()
If Me.Prénom <> "" And Me.Salaire <> "" Then
Me.B_ok.Enabled = True
End If
End Sub

Private Sub B_ok_Click()
[A65000].End(xlUp).Offset(1, 0).Select
ActiveCell = UCase(Me.Nom)
ActiveCell.Offset(0, 1) = Application.Proper(Me.Prénom)
ActiveCell.Offset(0, 2) = CDbl(Me.Salaire)
[A2:C1000].Sort key1:=[A2]
raz
End Sub

Sub raz()
Me.Nom = ""
Me.Prénom = ""
Me.Salaire = ""
Me.Prénom.Enabled = False
Me.Salaire.Enabled = False
Me.Prénom.BackColor = Me.BackColor
Me.Salaire.BackColor = Me.BackColor
Me.B_ok.Enabled = False
End Sub

Cordialement JB



bonsoir à tous,

j'ai un tableau ou l'on rentre des données via des macros.Des bouto ns de
commandes déclenchent des userforms et il n'y a plus qu'a remplir l es texboxs.

Cela facilite donc le remplissage de mon tableau mais n'évite pas t outes les
erreurs, malheureusement!

je voudrais donc, integrer dans mes macros une macro-commande qui blo querait
ou empecherait de remplir certaines cellules si d'autres sont vides.

besoin d'aide,merci,
pat
En plus il faut








Avatar
pat
http://cjoint.com/?iiwExfBghi
voici le lien pour mon fichier. le mot de passe est : pat


Aller sur le site: http://cjoint.com

JB

merci à tous les deux pour vos exemples,

par contre dans mon cas le contrôle de la cellule se fait non pas
directement dans l'userform mais sur une cellule du tableau.
et la difficulté supplémentaire c'est que la cellule qui doit être vérifier
n'est pas toujours la même, elle varie suivant celle que je veux remplir
justement.
Est ce qu'il y a possibilité de vous transmettre mon fichier?
je pense que vous comprendriez mieux que par mes explications peut être un
peu trop vague!
comment à tu fais JB? tu peux m'indiquez la marche à suivre?

A+ pat




Bonjour,


Exemple de controle de saiie: http://cjoint.com/?igjbu17mdt

-On ne peut saisir le prénom et le salaire ont été saisis
-On ne peut valider que si toutes les zones ont étés saisies

Private Sub Nom_Change()
If Me.Nom <> "" Then
Me.Prénom.Enabled = True
Me.Salaire.Enabled = True
Me.Prénom.BackColor = vbWhite
Me.Salaire.BackColor = vbWhite
End If
End Sub

Private Sub Prénom_Change()
controle
End Sub

Private Sub Salaire_Change()
controle
If Me.Salaire <> "" And Not IsNumeric(Me.Salaire) Then
MsgBox "Saisir du num"
End If
End Sub

Sub controle()
If Me.Prénom <> "" And Me.Salaire <> "" Then
Me.B_ok.Enabled = True
End If
End Sub

Private Sub B_ok_Click()
[A65000].End(xlUp).Offset(1, 0).Select
ActiveCell = UCase(Me.Nom)
ActiveCell.Offset(0, 1) = Application.Proper(Me.Prénom)
ActiveCell.Offset(0, 2) = CDbl(Me.Salaire)
[A2:C1000].Sort key1:=[A2]
raz
End Sub

Sub raz()
Me.Nom = ""
Me.Prénom = ""
Me.Salaire = ""
Me.Prénom.Enabled = False
Me.Salaire.Enabled = False
Me.Prénom.BackColor = Me.BackColor
Me.Salaire.BackColor = Me.BackColor
Me.B_ok.Enabled = False
End Sub

Cordialement JB



bonsoir à tous,

j'ai un tableau ou l'on rentre des données via des macros.Des boutons de
commandes déclenchent des userforms et il n'y a plus qu'a remplir les texboxs.

Cela facilite donc le remplissage de mon tableau mais n'évite pas toutes les
erreurs, malheureusement!

je voudrais donc, integrer dans mes macros une macro-commande qui bloquerait
ou empecherait de remplir certaines cellules si d'autres sont vides.

besoin d'aide,merci,
pat
En plus il faut