Enregistrement feuille excel
gislain99
-
Zoul67 Messages postés 1959 Date d'inscription Statut Membre Dernière intervention -
Zoul67 Messages postés 1959 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai une feuille Excel qui me sert de bon de livraison elle se numérote se nome
et s'imprime automatiquement je voudrais aussi quelle se range automatiquement dans un classeur défini après l'impression c'est la que sa coince je ne vois pas du tous l'erreur que j'ai.
Ci dessous mon code
L'erreur ce trouve sur la ligne surligné en gras
"Erreur d'exécution '1004':"
"Erreur définie par l'application ou par l'objet"
j'ai une feuille Excel qui me sert de bon de livraison elle se numérote se nome
et s'imprime automatiquement je voudrais aussi quelle se range automatiquement dans un classeur défini après l'impression c'est la que sa coince je ne vois pas du tous l'erreur que j'ai.
Ci dessous mon code
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim extension As String
Dim chemin As String, nomfichier As String
Dim style As Integer
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=False
ActiveSheet.Name = ("BL-") & Range("J4").Text
Range("n°_BL").Value = Range("n°_BL").Value + 1
Application.ScreenUpdating = False
ThisWorkbook.ActiveSheet.Copy
extension = ".xls"
chemin = "C:\Wartsïla"
nomfichier = ActiveSheet.Range("BL-") & Range("J4") & extensionWith ActiveWorkbook
.ActiveSheet.DrawingObjects(1).Delete
.SaveAs Filename:=nomfichier
.Close
End With
End Sub
L'erreur ce trouve sur la ligne surligné en gras
"Erreur d'exécution '1004':"
"Erreur définie par l'application ou par l'objet"
A voir également:
- Enregistrement feuille excel
- Liste déroulante excel - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Word et excel gratuit - Guide
- Verrouiller cellule excel sans verrouiller la feuille - Guide
- Déplacer colonne excel - Guide
4 réponses
Bonjour,
"BL-" ne semble pas être une cellule ni une plage nommée.
Apparemment tu veux sauvegarder tout le fichier dans un dossier (d'après ton code) et non insérer l'onglet dans un classeur existant (d'après ton texte). Tu définis chemin sans l'utiliser, tu risques d'avoir des mauvaises surprises à ce niveau là...
A+
"BL-" ne semble pas être une cellule ni une plage nommée.
Apparemment tu veux sauvegarder tout le fichier dans un dossier (d'après ton code) et non insérer l'onglet dans un classeur existant (d'après ton texte). Tu définis chemin sans l'utiliser, tu risques d'avoir des mauvaises surprises à ce niveau là...
A+
Bonjour,
Oui "BL-" est la racine que je veut pour nommer toutes mes feuilles suivie du numéro récupérer dans la cellule J4.
au final je veux enregistrer ma feuille dans le dossier "C:\Wartsïla"
je ne voie pas comment donner l'instruction pour aller ranger ma feuille.
Oui "BL-" est la racine que je veut pour nommer toutes mes feuilles suivie du numéro récupérer dans la cellule J4.
au final je veux enregistrer ma feuille dans le dossier "C:\Wartsïla"
je ne voie pas comment donner l'instruction pour aller ranger ma feuille.
bonjour,
excuser moi mais il faudrait lire correctement la question
pour nommer la feuille je n'ais aucun souci pour l'imprimer non plus
mon problème est d'enregistrer ma feuille dans un classeur dédier c'est ce bout de code que je n'arrive pas a réaliser cela fait plusieurs jour que je cherche sur le net et que je ne trouve pas de solution.
si j'avais trouver une solution je ne demanderais pas d'aide .
merci d'avance
excuser moi mais il faudrait lire correctement la question
pour nommer la feuille je n'ais aucun souci pour l'imprimer non plus
mon problème est d'enregistrer ma feuille dans un classeur dédier c'est ce bout de code que je n'arrive pas a réaliser cela fait plusieurs jour que je cherche sur le net et que je ne trouve pas de solution.
si j'avais trouver une solution je ne demanderais pas d'aide .
merci d'avance
Je vois bien que le début du code est correct, mais la ligne en erreur ne rime à rien. Ma proposition de tout à l'heure devrait corriger le bug. Il me paraît incroyable d'arriver à nommer correctement un onglet et à ne pas arriver à stocker dans une variable ce même nom. M'enfin, puisqu'il faut tout mâcher...
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim extension As String Dim chemin As String, nomfichier As String Dim style As Integer ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=False ActiveSheet.Name = ("BL-") & Range("J4").Text Range("n°_BL").Value = Range("n°_BL").Value + 1 Application.ScreenUpdating = False ThisWorkbook.ActiveSheet.Copy extension = ".xls" chemin = "C:\Wartsïla" nomfichier = ActiveSheet.Name & extension With ActiveWorkbook .ActiveSheet.DrawingObjects(1).Delete .SaveAs Filename:=chemin & "\" & nomfichier .Close End With End Sub
Bonjour,
Je n'avais pas bien lu la modification que tu avais apporté a mon code en définitive
il fonctionne très bien maintenant.
Par contre j'ais un petit souci lors de l'impression je veux imprimer la feuille qui se nome automatiquement avec deux autres feuilles nommées "Dem." et "Pré." mais je n'y arrive pas je ne sait pas ou intégrer cette action.
Je n'avais pas bien lu la modification que tu avais apporté a mon code en définitive
il fonctionne très bien maintenant.
Par contre j'ais un petit souci lors de l'impression je veux imprimer la feuille qui se nome automatiquement avec deux autres feuilles nommées "Dem." et "Pré." mais je n'y arrive pas je ne sait pas ou intégrer cette action.
D'après https://www.developpez.net/forums/d1021162/logiciels/microsoft-office/excel/macros-vba-excel/imprimer-plusieurs-feuilles/ (grâce à notre ami Google),
le code suivant devrait faire l'affaire :
le code suivant devrait faire l'affaire :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim extension As String Dim chemin As String, nomfichier As String Dim style As Integer ActiveSheet.Name = ("BL-") & Range("J4").Text Sheets(Array("Dem.", "Pré.",ActiveSheet.Name)).PrintOut Copies:=1, Collate:=False Range("n°_BL").Value = Range("n°_BL").Value + 1 Application.ScreenUpdating = False ThisWorkbook.ActiveSheet.Copy extension = ".xls" chemin = "C:\Wartsïla" nomfichier = ActiveSheet.Name & extension With ActiveWorkbook .ActiveSheet.DrawingObjects(1).Delete .SaveAs Filename:=chemin & "\" & nomfichier .Close End With End Sub