erreur d'execution 424 objet requis"

  • Initiateur de la discussion jean-paul
  • Date de début
J

jean-paul

Guest
bonjour
j'ai réalisé une facture avec une incrémentation de la numérotation a l'aide du pgm ci joint
Private Sub workbook_beforeclose(cancel As Boolean)
chemxlt = Application.TemplatesPath & NumAuto.xlt
If ActiveWorkbook.Path = "" Then
Set wbk = Workbooks.Open(chemxlt)
With wbk.ActiveSheet
.Range("NumFact") = .Range("NumFact") - 1
End With
wbk.Save
wbk.Close
End If
End Sub

Private Sub workbook_open()
If ActiveWorkbook.Path = "" Then
[NumFact] = [NumFact] + 1
ActiveWorkbook.Saved = True
ActiveWorkbook.SaveCopyAs (Application.TemplatesPath & "NumAuto.xlt")
End If

. tout ce passe bien mais a la fermeture il y a un message "erreur d'execution 424 objet requis"
ceci concerne la ligne :
chemxlt = Application.TemplatesPath & NumAuto.xlt
pourquoi?
deuxième question:
serait il possible qu'au moment de l'enregistrement d'une facture le numéro de cette facture soit ausisi modifié a coté du nom de la facture
car pour l'instant à haque fois que je veux enregistrer une nouvelle facture excel me propose toujours "facture1"

merci de votre réponse
 
O

omicron

Guest
Bonjour Jean-Paul,

Pour répondre à ta première question, et si j'ai bien compris ce que tu essaies de faire, je pense que dans la procédure

workbook_beforeclose(cancel As Boolean)

Tu cherches à affecter à la variable chemxlt le nom complet du fichier dans lequel tu incrémentes et sauvegardes ton N° de facture.

Sauf erreur de ma part,

NumAuto.xlt est une constante que tu cherches à concaténer à la variable Application.TemplatesPath qui contient le nom de la directory dans laquel sont rangés les fichier modèles Excel (.xlt)

Il faut donc écrire :
chemxlt = Application.TemplatesPath & "NumAuto.xlt"

Sinon, s'il n'y a pas de quotes VB considère que Numauto est un objet et bien évidemment, il ne le trouve pas puisqu'il n'a été ni déclaré , ni instancié.

Quant à la seconde question, je ne comprends pas exactement ce que tu souhaites faire. Un exemple serait le bien venu.

En espérant avoir répondu en partie à ta question.

Cordialement.

Omicron.
 
J

jp

Guest
bonsoir "omicron"
merci pour ta réponse
je vais éclaircir ma deuxième question
lorsque j'édite la facture n° 1, je fait enregistrer, excel me propose comme nom facture1, là, tout va bien.
lorsque j'édite la facture nr2 ,je fait enregistrer ,excel me propose comme nom facture1 et là ce n'est pas bon puisque je voudrais que le nom proposé soit facture 2
y a t'il une solution ?

merci d'avance
 

Discussions similaires

Statistiques des forums

Discussions
312 330
Messages
2 087 342
Membres
103 524
dernier inscrit
Smile1813