Ne pas appliquer au premier enregistrement

Bonjour,

Je vais essayé d'être plus explicite que le titre du sujet.

Voilà, j'ai créé une macro afin que le fichier ne puisse pas être fermé, ni enregistré sans avoir renseigné deux cellules. A savoir le Nom et le N° de tel.
Je veux enregistrer mon fichier en modèle, sauf que ma macro me bloque si je souhaite laisser les deux cellules vides.
Y a t-il une solution pour que la macro ne prenne effet qu'après le premier enregistrement ?
Merci pour votre retour.
Fredo

Bonjour GilsonF

Dans VBAproject fenêtre d'exécution vous saisissez, puis Entrée

Application.EnableEvents = False

Vous pourrez alors l'enregistrer sans problème

A+

bonsoir

perso je pige pas le besoin là

pourquoi faire un xlt pour le modifier avec enregistrement ??

Salut Patrick

Peut-être pour créer un nouveau fichier à envoyer 🤔

Certes il y a d'autres méthodes 😜🤣

re bonsoir bruno

ben un xlt est un modèle , quand tu enregistre tu enregistre une copie en xlsx ou xlsm non ?

Salut Patrick,

Lorsque tu fais fichier -> Nouveau, le modèle s'ouvre en ".xlsm"

Mais si tu veux que la personne ne puisse pas enregistrer le nouveau fichier avec les 2 champs vides
tu es bien obligé de passer par

Private Sub Workbook_BeforeClose(Cancel As Boolean)

End Sub

D'où le souci de notre demandeur au départ, non

En tout cas, c'est ce que j'avais compris

Bonjour,
Merci pour les retours.
BrunoM a en effet bien compris.

Pour expliquer de manière peut-être plus claire.

Il me fallait trouver une solution pour que quand les personnes vont enregistrer le bon de commande, il soit obligé d'avoir renseigné deux champs, le champ nom et N° de téléphone.
Ce que j'ai mis en place permet d’empêcher de fermer et d'enregistrer le fichier si ces champs ne son pas renseignés et en plus un message apparaît pour en indiquer la raison. "Renseignez le Nom" ou "Renseigner le N° de téléphone".
Ma façon de faire n'est peut-être pas la plus académique, mais c'est celle que j'ai trouvé.
Restait juste le problème de pouvoir moi-même fermer le modèle sans avoir ce message.

Merci.
Cela a fonctionné avec :

Application.EnableEvents = False

ok

moi j'ai simplement chercher à comprendre ce qui est dans le titre de ta demande

ne-pas-appliquer-au-premier-enregistrement

ce qui n'a rien a voir avec ton besoins en fait

ton besoin est simplement un contrôle des données presentes dans les textboxs

Bonjour

Décidément Patrick Rien à voir avec des Textbox

le titre à tout à voir au contraire, mais tu ne semble pas vouloir comprendre

Bonjour Bruno

si j'ai j'ai bien compris le truc

j'ai dis textbox mais effectivement c'est deux cellules la chose est identique

exemple
8classeur1.xltm (16.11 Ko)
on peut pas enregistrer si b2 et b3 ne sont pas rempli
une fois remplie et enregistré on revient à un exemplaire vierge du xltm en xlsm

Re,

C'est bien ce que je disais, relis la 1ère demande de l'utilisateur STP

Voilà à quoi il faisait référence

Private Sub Workbook_BeforeClose(Cancel As Boolean)
  If Range("Nom") = "" Or Range("NumTel") = "" Then
    Cancel = True
  End If
End Sub

Et désolé, mais pour éviter une conversation inutile, je clôture ce fil

merci de ta compréhension

Bon week-end

Rechercher des sujets similaires à "pas appliquer premier enregistrement"