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

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

2 réponses
Avatar
Cyril DUPONT
Je remet mon post ici :

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é !!!


J'ai cherché un peu et grace à Corto (merci) voila ce que ça donne :

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

Par contre :

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...
Mais à 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.

2 réponses

Avatar
MichDenis
| ABCD.xls.Save


A ) si c'est le classeur dans lequel le code est écrit que tu veux fermer :
ThisWorkbook.Save

B ) tu peux aussi utiliser ce type de syntaxe si le classeur que tu veux fermer
existe et est OUVERT.

Workbooks("ABCD.xls").Save




"Cyril DUPONT" a écrit dans le message de news:

Je remet mon post ici :

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é !!!


J'ai cherché un peu et grace à Corto (merci) voila ce que ça donne :

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

Par contre :

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...
Mais à 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.
Avatar
Cyril DUPONT
Merci de ta réponse mais en fait ce que je veux faire n'a pas l'air de plaire
à tout le monde dans la société dans laquelle je travaille...
Donc je laisse tomber, merci quand même...
--
Cyril.



| ABCD.xls.Save


A ) si c'est le classeur dans lequel le code est écrit que tu veux fermer :
ThisWorkbook.Save

B ) tu peux aussi utiliser ce type de syntaxe si le classeur que tu veux fermer
existe et est OUVERT.

Workbooks("ABCD.xls").Save




"Cyril DUPONT" a écrit dans le message de news:

Je remet mon post ici :

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é !!!


J'ai cherché un peu et grace à Corto (merci) voila ce que ça donne :

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

Par contre :

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...
Mais à 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.