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

Interdiction d'enregistrer si abscence d'info

2 réponses
Avatar
HTW
Comment forcer l'interdiction de sortie/d'enregistrement si une information
n'est pas donnée dans une cellule ?

Par exemple, je veux obliger l'opérateur à enregistrer son nom dans la
cellule à côté de son heure d'arrivée.

Comment programmer ça ? J'y arrive pour l'heure d'arrivée automatique, mais
pas pour la macro d'interdiction de Sortie/Enregistrement...

Il faudrait presque que l'opérateur ait directement la fenêtre s'il ouvre le
fichier, pour être sûr qu'il remplisse les cases.

Comment faire ??

Merci d'avance.

2 réponses

Avatar
Rai
HTW wrote:
Comment forcer l'interdiction de sortie/d'enregistrement si une
information n'est pas donnée dans une cellule ?

Par exemple, je veux obliger l'opérateur à enregistrer son nom dans la
cellule à côté de son heure d'arrivée.

Comment programmer ça ? J'y arrive pour l'heure d'arrivée
automatique, mais pas pour la macro d'interdiction de
Sortie/Enregistrement...

Il faudrait presque que l'opérateur ait directement la fenêtre s'il
ouvre le fichier, pour être sûr qu'il remplisse les cases.

Comment faire ??

Merci d'avance.


Bonjour

Supposé que le cellule A2 soit à utiliser pour renseigner le nom (à adapter sur ton classeur).
Code à placer dans ThisWorkBook :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Range("A2") <> "" Then
ThisWorkbook.Close
Else
Cancel = True
MsgBox "Veuillez renseigner votre nom", vbCritical, "Erreur"
End If
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Range("A2") <> "" Then
ThisWorkbook.Save
Else
Cancel = True
MsgBox "Veuillez renseigner votre nom", vbCritical, "Erreur"
End If
End Sub


--
Cordialement,

Rai
Remplacer point par la ponctuation appropriée pour répondre...

Avatar
papou
Bonjour
Comment forcer l'interdiction de sortie/d'enregistrement si une
information

n'est pas donnée dans une cellule ?
Utilise les évènements BeforeClose et BeforeSave (clic droit sur l'icône

d'Excel située à gauche du menu fichier, Visulaiser le code)
Exemple :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Feuil1.Range("A1").Value = "" Then
MsgBox "La cellule A1 n'est pas renseignée", vbExclamation, "Fermeture
interdite"
Cancel = True
End If
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If Feuil1.Range("A1").Value = "" Then
MsgBox "La cellule A1 n'est pas renseignée", vbExclamation, "Fermeture
interdite"
Cancel = True
End If
End Sub
Il faudrait presque que l'opérateur ait directement la fenêtre s'il ouvre
le

fichier, pour être sûr qu'il remplisse les cases
Evènement Open de ThisWorkbook, exemple :

Private Sub Workbook_Open()
MsgBox "Songer à renseigner la cellule A1 avant la fermeture ou
l'enregistrement", vbInformation, "Attention"
End Sub

Cordialement
Pascal

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

Comment forcer l'interdiction de sortie/d'enregistrement si une
information

n'est pas donnée dans une cellule ?

Par exemple, je veux obliger l'opérateur à enregistrer son nom dans la
cellule à côté de son heure d'arrivée.

Comment programmer ça ? J'y arrive pour l'heure d'arrivée automatique,
mais

pas pour la macro d'interdiction de Sortie/Enregistrement...

Il faudrait presque que l'opérateur ait directement la fenêtre s'il ouvre
le

fichier, pour être sûr qu'il remplisse les cases.

Comment faire ??

Merci d'avance.