OVH Cloud OVH Cloud

Obligation de saisir en B1

15 réponses
Avatar
Caroline L.
Bonjour à tous,

À l'aide d'une macro, une nouvelle feuille est créée et le curseur se place
en B1 automatiquement. En B1, l'usager doit inscrire une date au format de
saisie jj-mm-aaaa mais le format visuel dans la cellule est 14-mar-98. Voici
ma question : Je veux obliger l'usager à saisir sa date, ne pas lui
permettre d'aller ailleurs dans la feuille tant qu'il n'a pas saisi la date
en B1.
Donc, un message disant "Veuillez maintenant saisir la date de début de
semaine" si l'usager tente de quitter la cellule (vide) et un loop tant que
B1 est vide.

Merci beaucoup

Caroline

5 réponses

1 2
Avatar
Caroline L.
une fois en B1, je ne veux pas que cette cellule soit quitté si elle est
vide donc
ne pas changer de cellule, ne pas changer de feuille, ne pas changer de
classeur... RIEN ! l'usager doit absolument inscrire une date en B1.
Tu vois ?


"anonymousA" a écrit dans le message de news:
4254416d$0$1225$
re,

qu'est ce que tu appelles "tente d'aller ailleurs" ? S'agit-il d'une
autre cellule, d'uen autre feuille, d'u autre classeur ?
Pour ce qui est de la cellule, le + simple est peut être de ne lui
permettre que d'aller sur B1 en utilisant la propriété de feuille
Enableselection=xlunlockedcells une fois que la feuille est protégée et
que la cellule B1 a bien sur été dévérouillée, toutes choses que
désormais, je suis sur que tu sais faire.

A+

Bonjour à tous,

À l'aide d'une macro, une nouvelle feuille est créée et le curseur se
place


en B1 automatiquement. En B1, l'usager doit inscrire une date au format
de


saisie jj-mm-aaaa mais le format visuel dans la cellule est 14-mar-98.
Voici


ma question : Je veux obliger l'usager à saisir sa date, ne pas lui
permettre d'aller ailleurs dans la feuille tant qu'il n'a pas saisi la
date


en B1.
Donc, un message disant "Veuillez maintenant saisir la date de début de
semaine" si l'usager tente de quitter la cellule (vide) et un loop tant
que


B1 est vide.

Merci beaucoup

Caroline







Avatar
Caroline L.
merci LSteph mais ne fonctionne pas vraiment bien avec le reste de mes
macros.
je vais tout de même essayé de l'adapter... c'est une bonne piste

merci
Caroline


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

ReBonsoir,
Sauf plus de liberté sur le format de saisie du moment qu'il est date
avant la création de la feuille mets un inputbox:

Sub tvd()
Dim mval as string
Do While Not IsDate(mval)
mval = InputBox("entrer une date format jj-mm-aaaa")
Loop
Worksheets.Add
[b1] = Format(mval, "dd-mmm-yy")
End Sub

'lSteph

"Caroline L." a écrit dans le message de news:
IdX4e.158558$
Bonjour à tous,

À l'aide d'une macro, une nouvelle feuille est créée et le curseur se
place
en B1 automatiquement. En B1, l'usager doit inscrire une date au format
de


saisie jj-mm-aaaa mais le format visuel dans la cellule est 14-mar-98.
Voici
ma question : Je veux obliger l'usager à saisir sa date, ne pas lui
permettre d'aller ailleurs dans la feuille tant qu'il n'a pas saisi la
date
en B1.
Donc, un message disant "Veuillez maintenant saisir la date de début de
semaine" si l'usager tente de quitter la cellule (vide) et un loop tant
que
B1 est vide.

Merci beaucoup

Caroline









Avatar
Caroline L.
Re-bonsoir Philippe,

autre chose. Est-il possible qu'il soit impossible de quitter la cellule B1
(donc ne pas pouvoir changer de cellule, ni de feuille, ni de classeur)...
tant que B1 est vide, si l'usager fait ENTER, un message l'avise "Veuillez
saisir une date" et le curseur reste en B1. ainsi de suite.

Merci
Caroline


"Philippe.R" a écrit dans le message de news:

Bonsoir Caroline,
Ceci, peut être, dans le module de la feuille :

Private Sub Worksheet_Activate()
If Not IsDate([b1]) Then [b1] = ""
If [b1] = "" Then MsgBox "Veuillez maintenant saisir la date de début de
semaine", , "MPFE"

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not IsDate([b1]) Then [b1] = ""
If [b1] = "" Then [b1].Select
End Sub

--
Amicales Salutations
XL 97 / 2000 / 2002
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Caroline L." a écrit dans le message de news:
IdX4e.158558$
Bonjour à tous,

À l'aide d'une macro, une nouvelle feuille est créée et le curseur se
place


en B1 automatiquement. En B1, l'usager doit inscrire une date au format
de


saisie jj-mm-aaaa mais le format visuel dans la cellule est 14-mar-98.
Voici


ma question : Je veux obliger l'usager à saisir sa date, ne pas lui
permettre d'aller ailleurs dans la feuille tant qu'il n'a pas saisi la
date


en B1.
Donc, un message disant "Veuillez maintenant saisir la date de début de
semaine" si l'usager tente de quitter la cellule (vide) et un loop tant
que


B1 est vide.

Merci beaucoup

Caroline








Avatar
Philippe.R
Bonsoir Caroline,
Comme ce qui suit alors.

En tête d'un module standard :
Public lAfeUillE As String

Dans le module de la feuille :
Private Sub Worksheet_Activate()
lAfeUillE = ActiveSheet.Name
End Sub

Private Sub Worksheet_Deactivate()
If Not IsDate([b1]) Then
[b1] = ""
Sheets(lAfeUillE).Select
Range("b1").Select
MsgBox "Veuillez maintenant saisir la date de début" _
& "de semaine", , "MPFE"
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not IsDate([b1]) Then
[b1] = ""
Range("b1").Select
MsgBox "Veuillez maintenant saisir la date de début" _
& "de semaine", , "MPFE"
End If
End Sub

--
Amicales Salutations
XL 97 / 2000 / 2002
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Caroline L." a écrit dans le message de news:
KR%4e.161509$
Re-bonsoir Philippe,

autre chose. Est-il possible qu'il soit impossible de quitter la cellule B1
(donc ne pas pouvoir changer de cellule, ni de feuille, ni de classeur)...
tant que B1 est vide, si l'usager fait ENTER, un message l'avise "Veuillez
saisir une date" et le curseur reste en B1. ainsi de suite.

Merci
Caroline


"Philippe.R" a écrit dans le message de news:

Bonsoir Caroline,
Ceci, peut être, dans le module de la feuille :

Private Sub Worksheet_Activate()
If Not IsDate([b1]) Then [b1] = ""
If [b1] = "" Then MsgBox "Veuillez maintenant saisir la date de début de
semaine", , "MPFE"

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not IsDate([b1]) Then [b1] = ""
If [b1] = "" Then [b1].Select
End Sub

--
Amicales Salutations
XL 97 / 2000 / 2002
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Caroline L." a écrit dans le message de news:
IdX4e.158558$
Bonjour à tous,

À l'aide d'une macro, une nouvelle feuille est créée et le curseur se
place


en B1 automatiquement. En B1, l'usager doit inscrire une date au format
de


saisie jj-mm-aaaa mais le format visuel dans la cellule est 14-mar-98.
Voici


ma question : Je veux obliger l'usager à saisir sa date, ne pas lui
permettre d'aller ailleurs dans la feuille tant qu'il n'a pas saisi la
date


en B1.
Donc, un message disant "Veuillez maintenant saisir la date de début de
semaine" si l'usager tente de quitter la cellule (vide) et un loop tant
que


B1 est vide.

Merci beaucoup

Caroline












Avatar
Caroline L.
Bonjour Philippe,

Merci pour ce que tu m'as fourni. J'ai adapté et tout va bien. Merci !
Peux-tu seulement me dire pourquoi dans ce qui suit, le msgbox apparaît 2
fois (une après l'autre) ??

'vérifier si B1 est vide
If Range("B1").Value = "" Then
MsgBox "Veuillez entrer la date dans le champ 'Du__________'" & vbCrLf &
"Format jj-mm-aa", vbOKOnly, "Lundi le..."
Range("B1").Select
Exit Sub
End If


PS. Finalement, pour ce qui est de vérifier que la contenu de B1 est une
date, j'ai inséré une validation en B1. Donc, ma macro doit se concentrer à
ne pas avoir de vide en B1.

Caroline


"Philippe.R" a écrit dans le message de news:

Bonsoir Caroline,
Comme ce qui suit alors.

En tête d'un module standard :
Public lAfeUillE As String

Dans le module de la feuille :
Private Sub Worksheet_Activate()
lAfeUillE = ActiveSheet.Name
End Sub

Private Sub Worksheet_Deactivate()
If Not IsDate([b1]) Then
[b1] = ""
Sheets(lAfeUillE).Select
Range("b1").Select
MsgBox "Veuillez maintenant saisir la date de début" _
& "de semaine", , "MPFE"
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not IsDate([b1]) Then
[b1] = ""
Range("b1").Select
MsgBox "Veuillez maintenant saisir la date de début" _
& "de semaine", , "MPFE"
End If
End Sub

--
Amicales Salutations
XL 97 / 2000 / 2002
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Caroline L." a écrit dans le message de news:
KR%4e.161509$
Re-bonsoir Philippe,

autre chose. Est-il possible qu'il soit impossible de quitter la cellule
B1


(donc ne pas pouvoir changer de cellule, ni de feuille, ni de
classeur)...


tant que B1 est vide, si l'usager fait ENTER, un message l'avise
"Veuillez


saisir une date" et le curseur reste en B1. ainsi de suite.

Merci
Caroline


"Philippe.R" a écrit dans le message de news:

Bonsoir Caroline,
Ceci, peut être, dans le module de la feuille :

Private Sub Worksheet_Activate()
If Not IsDate([b1]) Then [b1] = ""
If [b1] = "" Then MsgBox "Veuillez maintenant saisir la date de début
de



semaine", , "MPFE"
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not IsDate([b1]) Then [b1] = ""
If [b1] = "" Then [b1].Select
End Sub

--
Amicales Salutations
XL 97 / 2000 / 2002
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Caroline L." a écrit dans le message de news:
IdX4e.158558$
Bonjour à tous,

À l'aide d'une macro, une nouvelle feuille est créée et le curseur se
place


en B1 automatiquement. En B1, l'usager doit inscrire une date au
format




de
saisie jj-mm-aaaa mais le format visuel dans la cellule est
14-mar-98.




Voici
ma question : Je veux obliger l'usager à saisir sa date, ne pas lui
permettre d'aller ailleurs dans la feuille tant qu'il n'a pas saisi
la




date
en B1.
Donc, un message disant "Veuillez maintenant saisir la date de début
de




semaine" si l'usager tente de quitter la cellule (vide) et un loop
tant




que
B1 est vide.

Merci beaucoup

Caroline















1 2