Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

cellule obligatoirement remplie

  • Initiateur de la discussion Initiateur de la discussion C@thy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C@thy

XLDnaute Barbatruc
Bonsouarrr,

Dans un classeur, mes utilisateurs préférés 😀 doivent obligatoirement remplir une cellule.
Je voudrais pouvoir empêcher l'enregistrement ou la fermeture du classeur tant que la cellule A1 n'est pas remplie.
(ou tout autre moyen qu'on pourrait trouver et qui ne soit pas trop contraignant pour obliger à remplir cette cellule).

Merci pour votre aide.

Bizz

C@thy
 
Re : cellule obligatoirement remplie

Bonjiour Cathy

essaye peut être ainsi, code à placer dans le module "ThisWorkbook", macro événementielle, se déclenche à la fermeture du classeur :

Code:
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If IsEmpty(Range("A1").Value) Then Cancel = True
End Sub

bonne soirée
@+
 
Re : cellule obligatoirement remplie

bonjour C@thy,

je te propose ce code (à placer dans "ThisWorkbook") :
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Range("A1").Text = vbNullString Then
    MsgBox ("Cellule non reneignée")
    Cancel = True
End If
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Range("A1").Text = vbNullString Then
    MsgBox ("Cellule non reneignée")
    Cancel = True
End If
End Sub
a+


edit: salut Pierrot93
 
Re : cellule obligatoirement remplie

Bonjour C@thy, Pierrot, mromain 🙂

Un peu en retard avec ma solution (dans ThisWorkbook) :

Code:
Dim Flag As Boolean 'en haut de la feuille

Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As Boolean)
Renseigne
Cancel = Flag
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Renseigne
Cancel = Flag
End Sub

Sub Renseigne()
Flag = False
If IsEmpty(Sheets("Feuil1").[A1]) Then
MsgBox "Renseignez la cellule A1...", 48
Sheets("Feuil1").Activate
[A1].Select
SendKeys "{F2}"
Flag = True
End If
End Sub

A+
 
Dernière édition:
Re : cellule obligatoirement remplie

bonjour job75

je pense qu'il faut rajouter une ligne à ta macro renseigne :
Code:
Sub Renseigne()
[B][COLOR=Red]Flag = False[/COLOR][/B]
If IsEmpty(Sheets("Feuil1").[A1]) Then
MsgBox "Renseignez la cellule A1...", 48
Sheets("Feuil1").Activate
[A1].Select
SendKeys "{F2}"
Flag = True
End If
End Sub

si jamais on rentre une deuxième fois dans la fonction, il faut remettre le flag à false

a+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
13
Affichages
2 K
C
Réponses
1
Affichages
2 K
claivier_58
C
C
Réponses
3
Affichages
2 K
claivier_58
C
M
  • Question Question
Réponses
19
Affichages
3 K
M
S
Réponses
5
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…