Erreur 1004

Résolu
florianequipburo
Messages postés
4
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
26 septembre 2007
- 20 sept. 2007 à 17:20
JM247L
Messages postés
443
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
1 mars 2011
- 26 sept. 2007 à 08:42
Bonjour
A partir d'une feuille
excel, où un nombre " x "de feuilles servent de base de données, j'ai
une macro qui  cree une impression des feuilles. message erreur 1004 vient lorsque je selectionne ma macro pour imprimer et me donne la ligne d erreur suivant( rouge)
merci de me donne un coup de pouce

Sub print_QuandClic()
Dim str As String
Dim dir As String
dir = "C:\devis eoliennes\Fichier clients"
Range("A4").Select
str = dir & ActiveCell.Text & "xls"
Worksheets("Devis").SaveAs Filename:=str, FileFormat:=xlsNormal, Password:="", writerespassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
Dim sprogexe
Dim sfichierdoc
If Worksheets("Informations").Range("e30").Value = "EMAG200" Then
Feuil3.PrintOut
Feuil6.PrintOut
Feuil2.PrintOut

9 réponses

tubafat
Messages postés
79
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
25 septembre 2007

20 sept. 2007 à 18:04
Salut,

la condition fileformat est facultative, si tu la supprimes ça marche... pourquoi, j'en sais rien!

Tubafat  
Avant d'imprimer, pensez à l'environnement
3
JM247L
Messages postés
443
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
1 mars 2011
2
21 sept. 2007 à 10:00
Concernant le commentaire de Tubafat sur "Dir", je le ferais également pour "Str"
Et puis tout ce qui est par défaut est inutile à coder ...
Worksheets("Devis").SaveAs Filename:=str, FileFormat:=xlsNormal, Password:="", writerespassword:="", ReadOnlyRecommended:=False, CreateBackup:=False

Par contre je veux bien que l'on m'explique la différence entre
Worksheets("NomFeuille").SaveAsetActiveWorkbook.SaveAs

 Cliquer "Réponse Acceptée" Quand Réponse OK

JML. Partageons notre savoir et nos acquis
3
JM247L
Messages postés
443
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
1 mars 2011
2
21 sept. 2007 à 11:19
Elle me semblait simple à moi aussi jusqu'à ce que je fasse le test et que le résultat est identique à "ActiveWorkbook.SaveAs" à savoir que tous les onglets sont sauvegardé ... En fait c'est un SaveAs du fichier

Mais Bon!!!
1150645 florianequipburo : Tu en es ou ? Si tu utilises :

Sub print_QuandClic()
Dim MonFichier As String
Dim Dir_Fichier As String
Dir_Fichier = "C:\devis eoliennes\Fichier clients"
Range("A4").Select
MonFichier = Dir_Fichier & ActiveCell.Text & "xls"
Worksheets("Devis").SaveAs Filename:=MonFichier , FileFormat:=xlsNormal
Dim sprogexe
Dim sfichierdoc
If Worksheets("Informations").Range("e30").Value = "EMAG200" Then
Feuil3.PrintOut
Feuil6.PrintOut
Feuil2.PrintOut

 Cliquer "Réponse Acceptée" Quand Réponse OK

JML. Partageons notre savoir et nos acquis
3
JM247L
Messages postés
443
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
1 mars 2011
2
26 sept. 2007 à 08:42
Bonjour,
C'est un autre cas qui n'a plus rien à voir avec le précédent qui lui est résolu !!!
Ouvre un autre message ... ce sera plus simple pour le suivi sinon on va se retrouver avec des pages de questions réponses qui n'auront rien à voir ensemble

 Cliquer "Réponse Acceptée" 

JML. Partageons notre savoir et nos acquis
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_MPi
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
21
20 sept. 2007 à 23:42
N'utilise pas Dir comme variable. C'est une fonction interne et ça m'étonne que ce ne soit pas ça qui ait affiché un message d'erreur ...

MPi
0
JM247L
Messages postés
443
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
1 mars 2011
2
21 sept. 2007 à 09:55
FileFormat:=xlsNormal = FileFormat:=

xlNormal












 Cliquer "Réponse Acceptée" Quand Réponse OK
JML. Partageons notre savoir et nos acquis
0
DblK
Messages postés
51
Date d'inscription
vendredi 30 janvier 2004
Statut
Membre
Dernière intervention
2 octobre 2008

21 sept. 2007 à 10:42
Il me semble que la différence est simple :
Le premier Enregistre l'onglet "NomFeuille"
tandis que le deuxième
Enregistre tout le classeur

Donc le résultat devrait être différent, dans un cas cela te créé un classeur avec un seul onglet "NomFeuille" et dans l'autre tu as un nouveau classeur identique au précédent (avec n onglet possible).

DblK
0
florianequipburo
Messages postés
4
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
26 septembre 2007

21 sept. 2007 à 11:47
tout va bien sa fonctionne , merci a tres bientot
0
florianequipburo
Messages postés
4
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
26 septembre 2007

25 sept. 2007 à 22:02
BONJOUR JE TRAVAIL DANS LES ENERGIES RENOUVELABLES, J
ESSAYE DE METTRE EN PLACE UN PTIT PROGRAME POUR FAIRE DES DEVIS SOUS
EXCEL, J AI MIS EN PLACE UN BOUTON POUR IMPRIMER DES DIFFERENTS
INFORMATIONS DANS UNE FEUILLE DEVIS LE PROBLEME JE N ARRIVE PAS A
SORTIR LES DOCS SUIVANT
C:\Matrice_Mât\MTU9-2.doc .....................MTU11-10..........

PEUT ON ME DONNER UN COUP DE POUCE


MERCI @+ FLO




Sub print_QuandClic()

Dim str As String

Dim dir As String

dir = "C:\devis eoliennes\Fichier clients"

Range("A4").Select

str = dir & ActiveCell.Text & "xls"

Worksheets("Devis").SaveAs Filename:=str, Password:="", writerespassword:="", ReadOnlyRecommended:=False, CreateBackup:=False

Dim sprogexe

Dim sfichierdoc

If Worksheets("Informations").Range("e30").Value = "EMAG200" Then

Feuil1.PrintOut

Feuil6.PrintOut

Feuil2.PrintOut


    Else

        If Worksheets("Informations").Range("e30").Value = "EMAG300" Then

        Feuil3.PrintOut

        Feuil7.PrintOut

        Feuil2.PrintOut

            Else

                If Worksheets("Informations").Range("e30").Value = "EMAG500" Then

                Feuil3.PrintOut

                Feuil8.PrintOut

                Feuil2.PrintOut

                    Else

                        If Worksheets("Informations").Range("e30").Value = "EMAG1000" Then

                        Feuil3.PrintOut

                        Feuil9.PrintOut

                        Feuil2.PrintOut

                            Else

                                If Worksheets("Informations").Range("e30").Value = "EMAG2000" Then

                                Feuil3.PrintOut

                                Feuil10.PrintOut

                                Feuil2.PrintOut

                                If Worksheets("Devis").Range("A20").Value = "MTU 9-3" Then

                                sprogexe = "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE"

                                sfichierdoc = "C:\Matrice_Mât\MTU9-3.doc"

                                Shell sprogexe + " " + sfichierdoc, 1

                                Else

                                If Worksheets("Devis").Range("A20").Value = "MTU 9-2" Then

                                sprogexe = "c:\devis eoliennes\Microsoft Office\WINWORD.EXE"

                                sfichierdoc = "C:\Matrice_Mât\MTU9-2.doc"

                                Shell sprogexe + " " + sfichierdoc, 1

                                Else

                                If Worksheets("Devis").Range("A20").Value = "MTU 11-10" Then

                                sprogexe = "c:\devis eoliennes\Microsoft Office\WINWORD.EXE"

                                sfichierdoc = "c:\devis eoliennes\Fondation mât\MTU11-10.doc"

                                Shell sprogexe + " " + sfichierdoc, 1

                                Else

                                If Worksheets("Devis").Range("A20").Value = "MTU 18" Then

                                sprogexe = "c:\devis eoliennes\Microsoft Office\WINWORD.EXE"

                                sfichierdoc = "c:\devis eoliennes\Fondation mât\MTU18.doc"

                                Shell sprogexe + " " + sfichierdoc, 1

                                Else

                                If Worksheets("Devis").Range("A20").Value = "MCO 9-2" Then

                                sprogexe = "c:\devis eoliennes\Microsoft Office\WINWORD.EXE"

                                sfichierdoc = "c:\devis eoliennes\Fondation mât\MCO9-2.doc"

                                Shell sprogexe + " " + sfichierdoc, 1

                                Else

                                If Worksheets("Devis").Range("A20").Value = "MCO 9-3" Then

                                sprogexe = "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE"

                                sfichierdoc = "c:\devis eoliennes\Fondation mât\MCO9-3.doc"

                                Shell sprogexe + " " + sfichierdoc, 1

                                Else

                                If Worksheets("Devis").Range("A20").Value = "MCO 11-2" Then

                                sprogexe = "c:\devis eoliennes\Microsoft Office\WINWORD.EXE"

                                sfichierdoc = "c:\devis eoliennes\Fondation mât\MCO11-2.doc"

                                Shell sprogexe + " " + sfichierdoc, 1

                                Else

                                If Worksheets("Devis").Range("A20").Value = "MCO 11-3" Then

                                sprogexe = "c:\devis eoliennes\Microsoft Office\WINWORD.EXE"

                                sfichierdoc = "c:\devis eoliennes\Fondation mât\MCO11-3.doc"

                                Shell sprogexe + " " + sfichierdoc, 1

                                Else

                                If Worksheets("Devis").Range("A20").Value = "MCO 11-10" Then

                                sprogexe = "c:\devis eoliennes\Microsoft Office\WINWORD.EXE"

                                sfichierdoc = "c:\devis eoliennes\Fondation mât\MCO11-10.doc"

                                Shell sprogexe + " " + sfichierdoc, 1

                                Else

                                If Worksheets("Devis").Range("A20").Value = "MCO 11-20" Then

                                sprogexe = "c:\devis eoliennes\Microsoft Office\WINWORD.EXE"

                                sfichierdoc = "c:\devis eoliennes\Fondation mât\MCO11-20.doc"

                                Shell sprogexe + " " + sfichierdoc, 1

                                Else

                                If Worksheets("Devis").Range("A20").Value = "MCO 18" Then

                                sprogexe = "c:\devis eoliennes\Microsoft Office\WINWORD.EXE"

                                sfichierdoc = "c:\devis eoliennes\Fondation mât\MCO18.doc"

                                Shell sprogexe + " " + sfichierdoc, 1

                                 End If

                                                           

                                                             End If

                                                             End If

                                                             End If

                                                             End If

                                                             End If

                                                            End If

                                                            End If

                                                            End If

                                                            End If

                                                            End If

                                                           

                                        Else

                                        If Worksheets("Informations").Range("e30").Value = "EMAG3000" Then

                                        Feuil3.PrintOut

                                        Feuil11.PrintOut

                                        Feuil2.PrintOut

                                        If Worksheets("Devis").Range("A20").Value = "MTU 9-3" Then

                                sprogexe = "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE"

                                        sfichierdoc = "C:\Matrice_Mât\MTU9-3.doc"

                                        Shell sprogexe + " " + sfichierdoc, vbNormalFocus

                                        Else

                                        If Worksheets("Devis").Range("A20").Value = "MCO 9-3" Then

                                sprogexe = "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE"

                                        sfichierdoc = "c:\devis eoliennes\Fondation mât\MCO9-3.doc"

                                        Shell sprogexe + " " + sfichierdoc, vbNormalFocus

                                        Else

                                        If Worksheets("Devis").Range("A20").Value = "MCO 11-3" Then

                                sprogexe = "c:\devis eoliennes\Microsoft Office\WINWORD.EXE"

                                        sfichierdoc = "c:\devis eoliennes\Fondation mât\MCO11-3.doc"

                                        Shell sprogexe + " " + sfichierdoc, vbNormalFocus

                                        End If

                                                            End If

                                                            End If

                                                Else

                                                If Worksheets("Informations").Range("e30").Value = "EMAG10000" Then

                                                If Worksheets("Informations").Range("e34").Value = "non" Then

                                                Feuil3.PrintOut

                                                Feuil14.PrintOut

                                                Feuil2.PrintOut

                                                Else

                                                Feuil3.PrintOut

                                                Feuil12.PrintOut

                                                Feuil2.PrintOut

                                                End If

                                                If Worksheets("Devis").Range("A20").Value = "MTU 11-10" Then

                                sprogexe = "c:\devis eoliennes\Microsoft Office\WINWORD.EXE"

                                                sfichierdoc = "c:\devis eoliennes\Fondation mât\MTU11-10.doc"

                                                Shell sprogexe + " " + sfichierdoc, 1

                                                If Worksheets("Devis").Range("A20").Value = "MCO 11-10" Then

                                sprogexe = "c:\devis eoliennes\Microsoft Office\WINWORD.EXE"

                                                sfichierdoc = "c:\devis eoliennes\Fondation mât\MCO11-10.doc"

                                                Shell sprogexe + " " + sfichierdoc, 1

                                                If Worksheets("Devis").Range("A20").Value = "MCO 18" Then

                                sprogexe = "c:\devis eoliennes\Microsoft Office\WINWORD.EXE"

                                                sfichierdoc = "c:\devis eoliennes\Fondation mât\MCO18.doc"

                                                Shell sprogexe + " " + sfichierdoc, 1

                                                If Worksheets("Devis").Range("A20").Value = "MTU 18" Then

                                sprogexe = "c:\devis eoliennes\Microsoft Office\WINWORD.EXE"

                                                sfichierdoc = "c:\devis eoliennes\Fondation mât\MTU18.doc"

                                                Shell sprogexe + " " + sfichierdoc, 1

                                              

                                                            End If

                                                            End If

                                                            End If

                                                            End If

                                                    Else

                                                    If Worksheets("Informations").Range("e34").Value = "non" Then

                                                Feuil3.PrintOut

                                                Feuil15.PrintOut

                                                Feuil2.PrintOut

                                                Else

                                                Feuil3.PrintOut

                                                Feuil13.PrintOut

                                                Feuil2.PrintOut

                                                End If

                                                    If Worksheets("Devis").Range("A20").Value = "MTU 9-3" Then

                                sprogexe = "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE"

                                                    sfichierdoc = "C:\Matrice_Mât\MTU9-3.doc"

                                                    Shell sprogexe + " " + sfichierdoc, 1

                                                    Else

                                                    If Worksheets("Devis").Range("A20").Value = "MTU 9-2" Then

                                sprogexe = "c:\devis eoliennes\Microsoft Office\WINWORD.EXE"

                                                    sfichierdoc = "C:\Matrice_Mât\MTU9-2.doc"

                                                    Shell sprogexe + " " + sfichierdoc, 1

                                                    Else

                                                    If Worksheets("Devis").Range("A20").Value = "MTU 11-10" Then

                                sprogexe = "c:\devis eoliennes\Microsoft Office\WINWORD.EXE"

                                                    sfichierdoc = "c:\devis eoliennes\Fondation mât\MTU11-10.doc"

                                                    Shell sprogexe + " " + sfichierdoc, 1

                                                    Else

                                                    If Worksheets("Devis").Range("A20").Value = "MTU 18" Then

                                sprogexe = "c:\devis eoliennes\Microsoft Office\WINWORD.EXE"

                                                    sfichierdoc = "c:\devis eoliennes\Fondation mât\MTU18.doc"

                                                    Shell sprogexe + " " + sfichierdoc, 1

                                                    Else

                                                    If Worksheets("Devis").Range("A20").Value = "MCO 9-2" Then

                                sprogexe = "c:\devis eoliennes\Microsoft Office\WINWORD.EXE"

                                                    sfichierdoc = "c:\devis eoliennes\Fondation mât\MCO9-2.doc"

                                                    Shell sprogexe + " " + sfichierdoc, 1

                                                    Else

                                                    If Worksheets("Devis").Range("A20").Value = "MCO 9-3" Then

                                sprogexe = "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE"

                                                    sfichierdoc = "c:\devis eoliennes\Fondation mât\MCO9-3.doc"

                                                    Shell sprogexe + " " + sfichierdoc, 1

                                                    Else

                                                    If Worksheets("Devis").Range("A20").Value = "MCO 11-2" Then

                                sprogexe = "c:\devis eoliennes\Microsoft Office\WINWORD.EXE"

                                                    sfichierdoc = "c:\devis eoliennes\Fondation mât\MCO11-2.doc"

                                                    Shell sprogexe + " " + sfichierdoc, 1

                                                    Else

                                                    If Worksheets("Devis").Range("A20").Value = "MCO 11-3" Then

                                sprogexe = "c:\devis eoliennes\Microsoft Office\WINWORD.EXE"

                                                    sfichierdoc = "c:\devis eoliennes\Fondation mât\MCO11-3.doc"

                                                    Shell sprogexe + " " + sfichierdoc, 1

                                                    Else

                                                    If Worksheets("Devis").Range("A20").Value = "MCO 11-10" Then

                                sprogexe = "c:\devis eoliennes\Microsoft Office\WINWORD.EXE"

                                                    sfichierdoc = "c:\devis eoliennes\Fondation mât\MCO11-10.doc"

                                                    Shell sprogexe + " " + sfichierdoc, 1

                                                    Else

                                                    If Worksheets("Devis").Range("A20").Value = "MCO 11-20" Then

                                sprogexe = "c:\devis eoliennes\Microsoft Office\WINWORD.EXE"

                                                    sfichierdoc = "c:\devis eoliennes\Fondation mât\MCO11-20.doc"

                                                    Shell sprogexe + " " + sfichierdoc, 1

                                                    Else

                                sprogexe = "c:\devis eoliennes\Microsoft Office\WINWORD.EXE"

                                                    sfichierdoc = "c:\devis eoliennes\Fondation mât\MCO18.doc"

                                                    Shell sprogexe + " " + sfichierdoc, 1

                                                            

                                                             End If

                                                            End If

                                                            End If

                                                            End If

                                                            End If

                                                            End If

                                                            End If

                                                            End If

                                                            End If

                                                            End If

                                                            

                                                            

                                                             End If

                                                             End If

                                                             End If

                                                             End If

                                                             End If

                                                             End If

                                                             End If

                                                           

                                                            

End Sub
0