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

Obliger la saisie d'une cellule

11 réponses
Avatar
Sunburn
Bonjour,
puis-je obliger à l'ouverture du dossier de saisir une cellule ?
Merci

YANN

10 réponses

1 2
Avatar
Daniel.C
Oui, pour autant que les macros soient activées. Ce n'est toutefois pas une
sécurité absolue, mais celui qui veut tricher devra réfléchir un peu.
Si tu veux que l'utilisateur ne puisse rien voir tu devras avoir une feuille
vierge qui s'affichera à l'oouverture (ici feui1). La macro oblige à remplir
la cellule A1 de Feuil2. Cette feuille est protégée par le mot de passe
"toto".
Dans "Thisworkbook, mets :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
For Each sh In Sheets
If sh.Name <> "Feuil1" Then
sh.Visible = xlVeryHidden
End If
Next
End Sub

Private Sub Workbook_Open()
For Each sh In Sheets
If sh.Name <> "Feuil1" Then
sh.Visible = xlVeryHidden
End If
Next
Var = InputBox("Entrez le contenu de la cellule A1 de la feuille
""Feuil2")
If Var = "" Then
ThisWorkbook.Close False
Else
For Each sh In Sheets
If sh.Name <> "Feuil1" Then
sh.Visible = True
End If
Next
Sheets("Feuil2").Unprotect Password:="toto"
[Feuil2!A1] = Var
Sheets("Feuil2").Protect Password:="toto"
End If
End Sub

--
Cordialement.
Daniel
"Sunburn" a écrit dans le message de
news:
Bonjour,
puis-je obliger à l'ouverture du dossier de saisir une cellule ?
Merci

YANN


Avatar
Jacky
Bonjour,

puis-je obliger à l'ouverture du dossier de saisir une cellule ?


Ici la valeur de la cellule A1 de la feuille 1. A adapter
'------------
Private Sub Workbook_Open()
Do
reponse = InputBox("Entrez la valeur pour la cellule A1 de la feuille 1",
Application.UserName)
Loop Until reponse = "toto" ' au choix valider cette ligne ou celle
ci-dessous
'Loop Until reponse <> ""
Sheets("feuil1").[a1] = reponse
End Sub
'------------------
--
Salutations
JJ


"Sunburn" a écrit dans le message de
news:
Bonjour,
Merci

YANN


Avatar
lSteph
Bonjour,

S'il y avait déjà qqchose dedans faut-il obliger de saisir autre
chose?

...

On 26 sep, 09:23, Sunburn wrote:
Bonjour,
puis-je obliger à l'ouverture du dossier de saisir une cellule ?
Merci

YANN


Avatar
Sunburn
bonjour,
non, je veux juste que cette cellule soit remplie, car elle est nécessaire
pour les autres pages du classeur.
C'est une cellule d'identification, l'utilisateur doit y mettre ses initiales.
Mais pas à chaque fois qu'il ouvre le classeur, juste quand la cellule est
vide (dossier modèle en somme)
Merci.
Yann

"lSteph" a écrit :

Bonjour,

S'il y avait déjà qqchose dedans faut-il obliger de saisir autre
chose?

....

On 26 sep, 09:23, Sunburn wrote:
> Bonjour,
> puis-je obliger à l'ouverture du dossier de saisir une cellule ?
> Merci
>
> YANN




Avatar
Sunburn
Bonjour,
Ok, j'ai utilisé ton code, mais est-il possible que quand on clique sur
"Annuler", cela quitte Excel ?
Merci

"Jacky" a écrit :

Bonjour,

> puis-je obliger à l'ouverture du dossier de saisir une cellule ?
Ici la valeur de la cellule A1 de la feuille 1. A adapter
'------------
Private Sub Workbook_Open()
Do
reponse = InputBox("Entrez la valeur pour la cellule A1 de la feuille 1",
Application.UserName)
Loop Until reponse = "toto" ' au choix valider cette ligne ou celle
ci-dessous
'Loop Until reponse <> ""
Sheets("feuil1").[a1] = reponse
End Sub
'------------------
--
Salutations
JJ


"Sunburn" a écrit dans le message de
news:
> Bonjour,
> Merci
>
> YANN






Avatar
Sunburn
Ok je te remercie, j'étudie cette solution en cachant les feuilles, bonne idée.
mais comment ne pas mettre de mot de passe pour vérouiller cette page ? Merci
voici mon code adapté :
---
Private Sub Workbook_BeforeClose(Cancel As Boolean)
For Each Sh In Sheets
If Sh.Name <> "DA" Then
Sh.Visible = xlVeryHidden
End If
Next
End Sub

Private Sub Workbook_Open()
Application.ScreenUpdating = False
For Each Sh In Sheets
If Sh.Name <> "DA" Then
Sh.Visible = xlVeryHidden
End If
Next
Var = InputBox("Entrez vos initiales")
If Var = "" Then
ThisWorkbook.Close False
Else
For Each Sh In Sheets
If Sh.Name <> "DA" Then
Sh.Visible = True
End If
Next
Sheets("DA").Unprotect Password:="toto"
[DA!D17] = Var
Sheets("DA").Protect Password:="toto"
End If
End Sub
-------------

"Daniel.C" a écrit :

Oui, pour autant que les macros soient activées. Ce n'est toutefois pas une
sécurité absolue, mais celui qui veut tricher devra réfléchir un peu.
Si tu veux que l'utilisateur ne puisse rien voir tu devras avoir une feuille
vierge qui s'affichera à l'oouverture (ici feui1). La macro oblige à remplir
la cellule A1 de Feuil2. Cette feuille est protégée par le mot de passe
"toto".
Dans "Thisworkbook, mets :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
For Each sh In Sheets
If sh.Name <> "Feuil1" Then
sh.Visible = xlVeryHidden
End If
Next
End Sub

Private Sub Workbook_Open()
For Each sh In Sheets
If sh.Name <> "Feuil1" Then
sh.Visible = xlVeryHidden
End If
Next
Var = InputBox("Entrez le contenu de la cellule A1 de la feuille
""Feuil2")
If Var = "" Then
ThisWorkbook.Close False
Else
For Each sh In Sheets
If sh.Name <> "Feuil1" Then
sh.Visible = True
End If
Next
Sheets("Feuil2").Unprotect Password:="toto"
[Feuil2!A1] = Var
Sheets("Feuil2").Protect Password:="toto"
End If
End Sub

--
Cordialement.
Daniel
"Sunburn" a écrit dans le message de
news:
> Bonjour,
> puis-je obliger à l'ouverture du dossier de saisir une cellule ?
> Merci
>
> YANN





Avatar
Jacky
Re...
D'après les explications aux autres intervenants, je suis pas sur d'avoir
compris...
Essaie:
'----------
Private Sub Workbook_Open()
reponse = InputBox("Entrez vos initiales", Application.UserName)
If reponse = "" Then
Application.DisplayAlerts = False
Application.Application.Quit
End If
Sheets("feuil1").[a1] = reponse
End Sub
'------------
--
Salutations
JJ


"Sunburn" a écrit dans le message de
news:
Bonjour,
Ok, j'ai utilisé ton code, mais est-il possible que quand on clique sur
"Annuler", cela quitte Excel ?
Merci

"Jacky" a écrit :

Bonjour,

> puis-je obliger à l'ouverture du dossier de saisir une cellule ?
Ici la valeur de la cellule A1 de la feuille 1. A adapter
'------------
Private Sub Workbook_Open()
Do
reponse = InputBox("Entrez la valeur pour la cellule A1 de la feuille 1",
Application.UserName)
Loop Until reponse = "toto" ' au choix valider cette ligne ou celle
ci-dessous
'Loop Until reponse <> ""
Sheets("feuil1").[a1] = reponse
End Sub
'------------------
--
Salutations
JJ


"Sunburn" a écrit dans le message de
news:
> Bonjour,
> Merci
>
> YANN








Avatar
Sunburn
Re,
j'ai trouvé pour ne pas vérouiller, c'était tout simple, il fallait juste
remettre mes neuronnes en route, c'est vendredi, lol.
Mais j'ai penser à des améliorations :
Ma feuille comporte des cellules vérouillées et d'autres non.
Toutes mes feuilles sont protégées par VBA à la création du classeur, par
mot de passe "toto".
il faudrait vérifier pour 2 cellules D15 et D17.
ensuite, si les deux ou l'une des deux est vide, alors mettre la boite de
dialogue : "saisir initiales 1", puis la boite de dialogue "saisir initiales
2".
et lorsque ces cellules sont saisies, il faudrait les vérouiller.

je dois mettre quelque chose au début de la macro du genre :
if D15 and D17 <> ""
then end sub
---
et aussi
---
cells(D15 and D17).select
selection.protect
---
Mais bon, comme j'ai du mal avec le language, je veux bien de l'aide.

Je te remercie.

"Daniel.C" a écrit :

Oui, pour autant que les macros soient activées. Ce n'est toutefois pas une
sécurité absolue, mais celui qui veut tricher devra réfléchir un peu.
Si tu veux que l'utilisateur ne puisse rien voir tu devras avoir une feuille
vierge qui s'affichera à l'oouverture (ici feui1). La macro oblige à remplir
la cellule A1 de Feuil2. Cette feuille est protégée par le mot de passe
"toto".
Dans "Thisworkbook, mets :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
For Each sh In Sheets
If sh.Name <> "Feuil1" Then
sh.Visible = xlVeryHidden
End If
Next
End Sub

Private Sub Workbook_Open()
For Each sh In Sheets
If sh.Name <> "Feuil1" Then
sh.Visible = xlVeryHidden
End If
Next
Var = InputBox("Entrez le contenu de la cellule A1 de la feuille
""Feuil2")
If Var = "" Then
ThisWorkbook.Close False
Else
For Each sh In Sheets
If sh.Name <> "Feuil1" Then
sh.Visible = True
End If
Next
Sheets("Feuil2").Unprotect Password:="toto"
[Feuil2!A1] = Var
Sheets("Feuil2").Protect Password:="toto"
End If
End Sub

--
Cordialement.
Daniel


Avatar
lSteph
Bonjour,

si vous ètes en réseau et que les postes démarrent avec un username e t
un mot de passe comme login
tu pourrais l'utiliser dans le workbook_open


if len(Feuil1.[A1])=0 then [a1]=application.environ("username")

--
lSteph


On 26 sep, 13:20, Sunburn wrote:
bonjour,
non, je veux juste que cette cellule soit remplie, car elle est nécessa ire
pour les autres pages du classeur.
C'est une cellule d'identification, l'utilisateur doit y mettre ses initi ales.
Mais pas à chaque fois qu'il ouvre le classeur, juste quand la cellule est
vide (dossier modèle en somme)
Merci.
Yann

"lSteph" a écrit :

> Bonjour,

> S'il y avait déjà qqchose dedans faut-il obliger de saisir autre
> chose?

> ....

> On 26 sep, 09:23, Sunburn wrote:
> > Bonjour,
> > puis-je obliger à l'ouverture du dossier de saisir une cellule ?
> > Merci

> > YANN


Avatar
Sunburn
Bonjour,
oui je suis en réseau, et on a un username.
j'ai mis dans mon workbook :
-----
Private Sub Workbook_Open()
If Len(DA.[d17]) = 0 Then [d17] = Application.Environ("username")
end sub
-----
mais il souligne en jaune "If Len(DA.[d17]) = 0 Then"
DA : c'est le nom de ma feuille, et D17 c'est la cellule que je veux remplie
avec les initiales.
merci si vous savez pourquoi ça plante
Yann


"lSteph" a écrit :

Bonjour,

si vous ètes en réseau et que les postes démarrent avec un username et
un mot de passe comme login
tu pourrais l'utiliser dans le workbook_open


if len(Feuil1.[A1])=0 then [a1]=application.environ("username")

--
lSteph


On 26 sep, 13:20, Sunburn wrote:
> bonjour,
> non, je veux juste que cette cellule soit remplie, car elle est nécessaire
> pour les autres pages du classeur.
> C'est une cellule d'identification, l'utilisateur doit y mettre ses initiales.
> Mais pas à chaque fois qu'il ouvre le classeur, juste quand la cellule est
> vide (dossier modèle en somme)
> Merci.
> Yann
>
> "lSteph" a écrit :
>
> > Bonjour,
>
> > S'il y avait déjà qqchose dedans faut-il obliger de saisir autre
> > chose?
>
> > ....
>
> > On 26 sep, 09:23, Sunburn wrote:
> > > Bonjour,
> > > puis-je obliger à l'ouverture du dossier de saisir une cellule ?
> > > Merci
>
> > > YANN




1 2