Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

RE Champs obligatoires

4 réponses
Avatar
PhilippeD1
Bonjour la communauté,

michdenis m'a communiqué un code sur lequel j'ai tenté en vain de
re-travailler. Si l'utilisateur ne
renseigne pas les cellules E 18 à E 20, il ne peut voir la feuil1.XlVeryHidden
E 18 Nom Donc MsgBox spécifique si cellule non renseignée,
E 19 Prénom Donc MsgBox spécifique si cellule non renseignée,
E 20 Fonction Donc MsgBox spécifique si cellule non renseignée.
Quand les trois cellules sont renseignées (sur feuille
"Introduction")l'utilisateur doit cliquer dans un CheckBox pour valider.
Voici THE code qui pose deux problèmes:
Les boites de dialogues apparaissent deux fois pour une cellule non
renseignée et,
Si les trois cellules sont correctement renseignées la feuil1 n'apparait
pas...

Private Sub CheckBox1_Click()
If Range("E18").Value = "" Then
MsgBox "Merci de compléter votre nom."
Cancel = True
End If
If Range("E19").Value = "" Then
MsgBox "Merci de renseigner votre prénom."
Cancel = True
End If
If Range("E20").Value = "" Then
MsgBox "Merci de remplir votre fonction."
Cancel = True
End If
Dim Rg As Range
With Worksheets("Introduction")
.Activate
Set Rg = .Range("E18:E20")
If Application.CountA(Rg) <> 17 Then
Cancel = True
CheckBox1.Value = 0
End If
End With
If CheckBox1.Value = 0 Then
Sheets("Feuil1").Visible = xlSheetVeryHidden
End If
End Sub

Je vous remercie d'avance pour vos suggestions ou solutions.

4 réponses

Avatar
michdenis
Bonjour Philippe,

Je me souviens vaguement de cette question.... mais j'ai de sérieux doutes que ce soit moi qui ait commis le code que tu soumets
ici!

Il est très difficile se savoir ce que tu veux faire, mais dans ton code, Cancel = True ne veut rien dire.

Au lieu de présenter ta solution, tu aurais tout intérêt de circonscrire ta problématique et de nous l'expliquer afin que l'on
puisse t'aider, le cas échéant.



Salutations!





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

Bonjour la communauté,

michdenis m'a communiqué un code sur lequel j'ai tenté en vain de
re-travailler. Si l'utilisateur ne
renseigne pas les cellules E 18 à E 20, il ne peut voir la feuil1.XlVeryHidden
E 18 Nom Donc MsgBox spécifique si cellule non renseignée,
E 19 Prénom Donc MsgBox spécifique si cellule non renseignée,
E 20 Fonction Donc MsgBox spécifique si cellule non renseignée.
Quand les trois cellules sont renseignées (sur feuille
"Introduction")l'utilisateur doit cliquer dans un CheckBox pour valider.
Voici THE code qui pose deux problèmes:
Les boites de dialogues apparaissent deux fois pour une cellule non
renseignée et,
Si les trois cellules sont correctement renseignées la feuil1 n'apparait
pas...

Private Sub CheckBox1_Click()
If Range("E18").Value = "" Then
MsgBox "Merci de compléter votre nom."
Cancel = True
End If
If Range("E19").Value = "" Then
MsgBox "Merci de renseigner votre prénom."
Cancel = True
End If
If Range("E20").Value = "" Then
MsgBox "Merci de remplir votre fonction."
Cancel = True
End If
Dim Rg As Range
With Worksheets("Introduction")
.Activate
Set Rg = .Range("E18:E20")
If Application.CountA(Rg) <> 17 Then
Cancel = True
CheckBox1.Value = 0
End If
End With
If CheckBox1.Value = 0 Then
Sheets("Feuil1").Visible = xlSheetVeryHidden
End If
End Sub

Je vous remercie d'avance pour vos suggestions ou solutions.
Avatar
PhilippeD1
Bonjour Michdenis,

tu m'as communiqué une partie du code.Le reste, je l'ai "bricolé".Cependant,
à force de modifier des lignes j'ai obtenu ce que je souhaitais. Il est vrai
que mon explication n'était pas forcément clair. Mais je n'aime pas trop
expliquer car, cela fait vraiment une demande, 'un passage de commande' et,
je préfére des bouts de solutions. Cela me permet de progresser, alors
qu'avec des solutions données, je ne fais que copier-coller. Même si ces
copier-coller m'ont bien permis depuis un an de mieux connaître VBA;grâce à
toutes les personnes qui ont pris le temps de me répondre

Private Sub CheckBox1_Click()
If Range("E18").Value = "" Then
MsgBox "Merci de compléter votre nom."
Cancel = True
End If
If Range("E19").Value = "" Then
MsgBox "Merci de renseigner votre prénom."
Cancel = True
End If
If Range("E20").Value = "" Then
MsgBox "Merci de remplir votre fonction."
Cancel = True
End If
If [E18] = "" Or [E19] = "" Or [E20] = "" Then
Sheets("Feuil2").Visible = xlSheetVeryHidden
Else
Sheets("Feuil2").Visible = True
Sheets("Introduction").Select
ActiveWindow.SelectedSheets.Visible = False
End If
End Sub

Je te remercie de m'avoir répondu...
A +



Bonjour Philippe,

Je me souviens vaguement de cette question.... mais j'ai de sérieux doutes que ce soit moi qui ait commis le code que tu soumets
ici!

Il est très difficile se savoir ce que tu veux faire, mais dans ton code, Cancel = True ne veut rien dire.

Au lieu de présenter ta solution, tu aurais tout intérêt de circonscrire ta problématique et de nous l'expliquer afin que l'on
puisse t'aider, le cas échéant.



Salutations!





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

Bonjour la communauté,

michdenis m'a communiqué un code sur lequel j'ai tenté en vain de
re-travailler. Si l'utilisateur ne
renseigne pas les cellules E 18 à E 20, il ne peut voir la feuil1.XlVeryHidden
E 18 Nom Donc MsgBox spécifique si cellule non renseignée,
E 19 Prénom Donc MsgBox spécifique si cellule non renseignée,
E 20 Fonction Donc MsgBox spécifique si cellule non renseignée.
Quand les trois cellules sont renseignées (sur feuille
"Introduction")l'utilisateur doit cliquer dans un CheckBox pour valider.
Voici THE code qui pose deux problèmes:
Les boites de dialogues apparaissent deux fois pour une cellule non
renseignée et,
Si les trois cellules sont correctement renseignées la feuil1 n'apparait
pas...

Private Sub CheckBox1_Click()
If Range("E18").Value = "" Then
MsgBox "Merci de compléter votre nom."
Cancel = True
End If
If Range("E19").Value = "" Then
MsgBox "Merci de renseigner votre prénom."
Cancel = True
End If
If Range("E20").Value = "" Then
MsgBox "Merci de remplir votre fonction."
Cancel = True
End If
Dim Rg As Range
With Worksheets("Introduction")
..Activate
Set Rg = .Range("E18:E20")
If Application.CountA(Rg) <> 17 Then
Cancel = True
CheckBox1.Value = 0
End If
End With
If CheckBox1.Value = 0 Then
Sheets("Feuil1").Visible = xlSheetVeryHidden
End If
End Sub

Je vous remercie d'avance pour vos suggestions ou solutions.





Avatar
michdenis
Bonjour Philippe,

Tant mieux pour toi si tu as trouvé une solution qui colle à la réalité de ton application.

Mais je demeure suspicieux quant à l'usage que tu fais de Cancel = True

Si tu inhibes ces lignes de code, est-ce que ton code continue de fonctionner?


Salutations!



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

Bonjour Michdenis,

tu m'as communiqué une partie du code.Le reste, je l'ai "bricolé".Cependant,
à force de modifier des lignes j'ai obtenu ce que je souhaitais. Il est vrai
que mon explication n'était pas forcément clair. Mais je n'aime pas trop
expliquer car, cela fait vraiment une demande, 'un passage de commande' et,
je préfére des bouts de solutions. Cela me permet de progresser, alors
qu'avec des solutions données, je ne fais que copier-coller. Même si ces
copier-coller m'ont bien permis depuis un an de mieux connaître VBA;grâce à
toutes les personnes qui ont pris le temps de me répondre

Private Sub CheckBox1_Click()
If Range("E18").Value = "" Then
MsgBox "Merci de compléter votre nom."
Cancel = True
End If
If Range("E19").Value = "" Then
MsgBox "Merci de renseigner votre prénom."
Cancel = True
End If
If Range("E20").Value = "" Then
MsgBox "Merci de remplir votre fonction."
Cancel = True
End If
If [E18] = "" Or [E19] = "" Or [E20] = "" Then
Sheets("Feuil2").Visible = xlSheetVeryHidden
Else
Sheets("Feuil2").Visible = True
Sheets("Introduction").Select
ActiveWindow.SelectedSheets.Visible = False
End If
End Sub

Je te remercie de m'avoir répondu...
A +



Bonjour Philippe,

Je me souviens vaguement de cette question.... mais j'ai de sérieux doutes que ce soit moi qui ait commis le code que tu soumets
ici!

Il est très difficile se savoir ce que tu veux faire, mais dans ton code, Cancel = True ne veut rien dire.

Au lieu de présenter ta solution, tu aurais tout intérêt de circonscrire ta problématique et de nous l'expliquer afin que l'on
puisse t'aider, le cas échéant.



Salutations!





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

Bonjour la communauté,

michdenis m'a communiqué un code sur lequel j'ai tenté en vain de
re-travailler. Si l'utilisateur ne
renseigne pas les cellules E 18 à E 20, il ne peut voir la feuil1.XlVeryHidden
E 18 Nom Donc MsgBox spécifique si cellule non renseignée,
E 19 Prénom Donc MsgBox spécifique si cellule non renseignée,
E 20 Fonction Donc MsgBox spécifique si cellule non renseignée.
Quand les trois cellules sont renseignées (sur feuille
"Introduction")l'utilisateur doit cliquer dans un CheckBox pour valider.
Voici THE code qui pose deux problèmes:
Les boites de dialogues apparaissent deux fois pour une cellule non
renseignée et,
Si les trois cellules sont correctement renseignées la feuil1 n'apparait
pas...

Private Sub CheckBox1_Click()
If Range("E18").Value = "" Then
MsgBox "Merci de compléter votre nom."
Cancel = True
End If
If Range("E19").Value = "" Then
MsgBox "Merci de renseigner votre prénom."
Cancel = True
End If
If Range("E20").Value = "" Then
MsgBox "Merci de remplir votre fonction."
Cancel = True
End If
Dim Rg As Range
With Worksheets("Introduction")
..Activate
Set Rg = .Range("E18:E20")
If Application.CountA(Rg) <> 17 Then
Cancel = True
CheckBox1.Value = 0
End If
End With
If CheckBox1.Value = 0 Then
Sheets("Feuil1").Visible = xlSheetVeryHidden
End If
End Sub

Je vous remercie d'avance pour vos suggestions ou solutions.





Avatar
PhilippeD1
Bonjour Michdenis,

effectivement sans ces lignes, le code continue de fonctionner.
En fait, je ne comprends pas encore tout ce que j'écris , j'associe des
codes que l'on m'a communiqué sur des sites internet.

A +


Bonjour Philippe,

Tant mieux pour toi si tu as trouvé une solution qui colle à la réalité de ton application.

Mais je demeure suspicieux quant à l'usage que tu fais de Cancel = True

Si tu inhibes ces lignes de code, est-ce que ton code continue de fonctionner?


Salutations!



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

Bonjour Michdenis,

tu m'as communiqué une partie du code.Le reste, je l'ai "bricolé".Cependant,
à force de modifier des lignes j'ai obtenu ce que je souhaitais. Il est vrai
que mon explication n'était pas forcément clair. Mais je n'aime pas trop
expliquer car, cela fait vraiment une demande, 'un passage de commande' et,
je préfére des bouts de solutions. Cela me permet de progresser, alors
qu'avec des solutions données, je ne fais que copier-coller. Même si ces
copier-coller m'ont bien permis depuis un an de mieux connaître VBA;grâce à
toutes les personnes qui ont pris le temps de me répondre

Private Sub CheckBox1_Click()
If Range("E18").Value = "" Then
MsgBox "Merci de compléter votre nom."
Cancel = True
End If
If Range("E19").Value = "" Then
MsgBox "Merci de renseigner votre prénom."
Cancel = True
End If
If Range("E20").Value = "" Then
MsgBox "Merci de remplir votre fonction."
Cancel = True
End If
If [E18] = "" Or [E19] = "" Or [E20] = "" Then
Sheets("Feuil2").Visible = xlSheetVeryHidden
Else
Sheets("Feuil2").Visible = True
Sheets("Introduction").Select
ActiveWindow.SelectedSheets.Visible = False
End If
End Sub

Je te remercie de m'avoir répondu...
A +



Bonjour Philippe,

Je me souviens vaguement de cette question.... mais j'ai de sérieux doutes que ce soit moi qui ait commis le code que tu soumets
ici!

Il est très difficile se savoir ce que tu veux faire, mais dans ton code, Cancel = True ne veut rien dire.

Au lieu de présenter ta solution, tu aurais tout intérêt de circonscrire ta problématique et de nous l'expliquer afin que l'on
puisse t'aider, le cas échéant.



Salutations!





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

Bonjour la communauté,

michdenis m'a communiqué un code sur lequel j'ai tenté en vain de
re-travailler. Si l'utilisateur ne
renseigne pas les cellules E 18 à E 20, il ne peut voir la feuil1.XlVeryHidden
E 18 Nom Donc MsgBox spécifique si cellule non renseignée,
E 19 Prénom Donc MsgBox spécifique si cellule non renseignée,
E 20 Fonction Donc MsgBox spécifique si cellule non renseignée.
Quand les trois cellules sont renseignées (sur feuille
"Introduction")l'utilisateur doit cliquer dans un CheckBox pour valider.
Voici THE code qui pose deux problèmes:
Les boites de dialogues apparaissent deux fois pour une cellule non
renseignée et,
Si les trois cellules sont correctement renseignées la feuil1 n'apparait
pas...

Private Sub CheckBox1_Click()
If Range("E18").Value = "" Then
MsgBox "Merci de compléter votre nom."
Cancel = True
End If
If Range("E19").Value = "" Then
MsgBox "Merci de renseigner votre prénom."
Cancel = True
End If
If Range("E20").Value = "" Then
MsgBox "Merci de remplir votre fonction."
Cancel = True
End If
Dim Rg As Range
With Worksheets("Introduction")
..Activate
Set Rg = .Range("E18:E20")
If Application.CountA(Rg) <> 17 Then
Cancel = True
CheckBox1.Value = 0
End If
End With
If CheckBox1.Value = 0 Then
Sheets("Feuil1").Visible = xlSheetVeryHidden
End If
End Sub

Je vous remercie d'avance pour vos suggestions ou solutions.