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

Forcer saisie d'une cellule à l'ouverture du document

4 réponses
Avatar
Cyril DUPONT
Bonjour,

Il n'y a pas tout dans l'intitulé du message désolé pas assez de place ^^

Voici mon soucis :

Je souhaites forcer la saisie de plusieurs cellules excel d'une même feuille
avec "Private Sub Workbook_BeforeSave".
Pour cela j'affiche une msgbox qui prévient que telle ou telle cellule n'est
pas saisie.

Le problème est que je souhaiterais que la cellule soit vide à l'ouverture
du document par une autre personne... mais avec la macro je n'arrive pas à
enregistrer la feuille sans saisir ces cellules ^^.

C'est l'arroseur arrosé !!!

Existe-t-il une solution ?

Cyril.

4 réponses

Avatar
Corto
Bonjour Cyril
Tu peux désactiver la gestion des évenements avec
Application.EnableEvents = False
TonFichier.Save
Application.EnableEvents = True
Corto

Bonjour,

Il n'y a pas tout dans l'intitulé du message désolé pas assez de place ^^

Voici mon soucis :

Je souhaites forcer la saisie de plusieurs cellules excel d'une même feuille
avec "Private Sub Workbook_BeforeSave".
Pour cela j'affiche une msgbox qui prévient que telle ou telle cellule n'est
pas saisie.

Le problème est que je souhaiterais que la cellule soit vide à l'ouverture
du document par une autre personne... mais avec la macro je n'arrive pas à
enregistrer la feuille sans saisir ces cellules ^^.

C'est l'arroseur arrosé !!!

Existe-t-il une solution ?

Cyril.


Avatar
Cyril DUPONT
Merci pour ta première réponse..
Mais où dois-je mettre ce bout de code ?

Je ne connais pas grand chose à VB je débute...

Cyril.



Bonjour Cyril
Tu peux désactiver la gestion des évenements avec
Application.EnableEvents = False
TonFichier.Save
Application.EnableEvents = True
Corto


Avatar
Cyril DUPONT
Ou dois-je mettre ce bout de code ?
Je ne connais pas grand chose à VB...

Cyril.



Bonjour Cyril
Tu peux désactiver la gestion des évenements avec
Application.EnableEvents = False
TonFichier.Save
Application.EnableEvents = True
Corto


Avatar
Cyril DUPONT
J'ai cherché un peu et j'ai réussi à le caler dans un endroit ou a priori ça
fonctionne dans le bon sens :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If [H7] = "" Then
MsgBox "La Cellule [Demandeur] n'est pas saisie"
Cancel = True
End If
If [F9] = "" Then
MsgBox "La Cellule [Client] n'est pas saisie"
Cancel = True
End If
Application.EnableEvents = False
ABCD.xls.Save
Application.EnableEvents = True
End Sub

J'arrive à enregistrer mon fichier sans désactiver le code et il fonctionne
quand je réouvre le fichier et que je veux l'enregistrer de nouveau...
Par contre à la suite de mes msgbox il se produit une erreur et la ligne
avec le nom de mon fichier apparait en surbrillance :

ABCD.xls.Save

l'erreur est : erreur d'exécution '424' : objet requis

Et si je clique sur "Fin", je peux de nouveau enregistrer sans que mes
cellules soient saisie...

Cyril.



Bonjour Cyril
Tu peux désactiver la gestion des évenements avec
Application.EnableEvents = False
TonFichier.Save
Application.EnableEvents = True
Corto