Ouvrir un fichier aléatoire automatquement

benjaminjumeaucourt Messages postés 7 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 5 février 2008 - 31 janv. 2008 à 18:13
benjaminjumeaucourt Messages postés 7 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 5 février 2008 - 5 févr. 2008 à 18:02
Bonjour,

Je voudrais faire une macro qui ouvrirai un fichier Excel portant un nom aléatoire dépendant de la date de la veille (Jaammjj aa pour année etc..)et qui l'imprimerais automatiquement... Quel serait le programme car je suis nul en macro et en VB...

PLEASE HELP!!!

Merci d'avance

10 réponses

bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
31 janv. 2008 à 18:22
Salut,

Pas trouvé de Baguette Magic apparemment^^

la reponse t'a deja ete donnée ici
Si tu n'essayes pas tu n'y arriveras pas. Essayes et dit nous ce qui ne marche pas ou ce qui
te manque pour y arriver.

A+
http://www.vbfrance.com/infomsg_PETIT-PROBLEME-IMPRESSION_1068749.aspx#1
0
benjaminjumeaucourt Messages postés 7 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 5 février 2008
31 janv. 2008 à 18:32
Re,

J'ai mis ça et ça ne marche pas la ligne Mbox.... est en rouge et m'indique erreur de syntaxe.. en plus je me suis trompé ce n'est pas le fichier de la date du jour mais de la veille.... Je veux imprimer le fichier J080130 le 31/01/2008 se trouvant dans le répertoire C:\TEST
merci d'avance

Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 31/01/2008



Dim sNomRépertoire As String
   Dim sNomFichier As String
   Dim sTemp As String
   sNomRépertoire = "C:\TEST"
   sNomFichier = "J" & Format(Now, "yymmdd") & ".xls"
   sTemp = Dir(sNomRépertoire & sNomFichier)
   If sTemp <> "" Then
      ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True & sNomRépertoire & sNomFichier
   Else
      MsgBox "Fichier """ & sNomRépertoire & sNomFichier """ non trouvé"
   End If
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
31 janv. 2008 à 18:39
...

Comme ça c'est mieux on sait tout de suite comment t'aider donc :

quand la ligne est en rouge c'est qu'il y a un probleme de syntax, essayes ça :

MsgBox "Fichier " & sNomRépertoire & sNomFichier & " non trouvé"

A+
0
benjaminjumeaucourt Messages postés 7 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 5 février 2008
31 janv. 2008 à 18:52
re

maintenant il dit

la méthode printout de l'objet sheet a échoué erreur d'éxécution 1004

Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 31/01/2008


Dim sNomRépertoire As String
   Dim sNomFichier As String
   Dim sTemp As String
   sNomRépertoire = "C:\TEST"
   sNomFichier = "J" & Format(Now, "yymmdd") & ".xls"
   sTemp = Dir(sNomRépertoire & sNomFichier)
   If sTemp <> "" Then
      ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True & sNomRépertoire & sNomFichier
   Else
      MsgBox "Fichier " & sNomRépertoire & sNomFichier & " non trouvé"
   End If
End Sub
0

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

Posez votre question
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
31 janv. 2008 à 19:05
...
remplace cette ligne;

    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True & sNomRépertoire & sNomFichier

par celle-ci :

Workbooks(sTemp).PrintOut Copies:=1, Collate:=True

A+
0
benjaminjumeaucourt Messages postés 7 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 5 février 2008
31 janv. 2008 à 19:21
erreur d'éxécution 9, l'indice n'appartient pas a la selection et la ligne worbooks(sTemp) est surligner en jaune

Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 31/01/2008


Dim sNomRépertoire As String
   Dim sNomFichier As String
   Dim sTemp As String
   sNomRépertoire = "C:\TEST"
   sNomFichier = "J" & Format(Now, "yymmdd") & ".xls"
   sTemp = Dir(sNomRépertoire & sNomFichier)
   If sTemp <> "" Then
      Workbooks(sTemp).PrintOut Copies:=1, Collate:=True
   Else
      MsgBox "Fichier " & sNomRépertoire & sNomFichier & " non trouvé"
   End If
End Sub
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
1 févr. 2008 à 18:23
Salut,

juste pour te dire que je travail sur ton pb. J'ai deja la solution, je la met en forme et te la pose ici
dans le week end.

A+
0
benjaminjumeaucourt Messages postés 7 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 5 février 2008
1 févr. 2008 à 18:48
Salut,

je te remerci d'avance.
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
4 févr. 2008 à 04:34
Salut,
essayes avec ce qui suit :

Sub Impression()
    Dim Chemin As String, MonFichier As String, Test As String, ExcelAppli As Object, OpFichier As Object, FichierDejaOuvert As Boolean
    Chemin = "C:\Temp"
    MonFichier = "test.xls"
    Test = Dir(Chemin & MonFichier)
    If Test <> "" Then
        On Local Error Resume Next
        Set ExcelAppli = GetObject(, "Excel.Application")
        If Nothing Is ExcelAppli Then
            Set ExcelAppli = CreateObject("Excel.Application")
            Set OpFichier = ExcelAppli.Workbooks.Open(Chemin & MonFichier)
            OpFichier.PrintOut Copies:=1, Collate:=True
            OpFichier.Close False
            ExcelAppli.Quit
        Else
            On Error Resume Next
            ExcelAppli.Workbooks(MonFichier).Activate
            If Err = 9 Then
                ExcelAppli.Application.ScreenUpdating = False
                Set OpFichier = ExcelAppli.Workbooks.Open(Chemin & MonFichier)
            Else
                Set OpFichier = ExcelAppli.ActiveWorkbook
                FichierDejaOuvert = True
            End If
            On Error Resume Next
            OpFichier.PrintOut Copies:=1, Collate:=True
            If FichierDejaOuvert = False Then
                OpFichier.Close False
                ExcelAppli.Application.ScreenUpdating = True
            End If
            Err.Clear
        End If
    Else
      MsgBox "Le fichier ou le chemin specifié n'existe pas", vbExclamation
    End If
End Sub

Je sais que cela merite quelque explication mais pas beaucoup de temps pour ca maintenant desolé.
je devrait avoir du temps dans la semaine donc n'hesite pas a poster tes questions. Dans tout les cas des explications
seront disponibles dans un snippet cree pour l'occasion (sous reserve qu'il soit valide par nos admins evidemment)

A+
0
benjaminjumeaucourt Messages postés 7 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 5 février 2008
5 févr. 2008 à 18:02
Bonjour,

Merci beaucoup pour le script, ça marche très bien et c'est tout à fait ce que je voulais...

Merci encore

A+
0
Rejoignez-nous