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

Le
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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #4483671
| 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"
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.
Cyril DUPONT
Le #4483491
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"
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.





Publicité
Poster une réponse
Anonyme