IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Impression d'une liste de fichier depuis Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 109
    Par défaut Impression d'une liste de fichier depuis Excel
    Bonjour,

    J'ai dans une feuille de mon classeur une liste de fichier à imprimer.
    Voici ci-dessous le code que j'ai trouvé pour lancer l'impression.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Sub ImprimerFichiers()
     
        Dim NomFichier As String
        Dim x As Long
        Dim Référence As String, DerLigA As Integer, i As Integer
     
    DerLigA = Range("A65536").End(xlUp).Row
     
    For i = 1 To DerLigA
     
    If Cells(i, 2) <> "" Then
    Référence = Range("B" & i).Value
     
        x = FindWindow("XLMAIN", Application.Caption)
        NomFichier = Référence
     
        ShellExecute x, "print", NomFichier, "", "", 1
     
    End If
    Next
     
    End Sub

    Mon premier problème est que tout mes fichiers ne sont pas imprimés (21 fichiers manquants sur 82 au total). Pourquoi en manque-t-il?

    Mon deuxième problème est que mes fichiers sont triés dans ma colonne B par ordre alphabétique mais sortent en désordre alors que j'aiemerai qu'ils sortent dans le même ordre.

    Merci par avance si vous arrivez à m'aider.
    Cordialement.

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Si je me réfère à cette instruction If Cells(i, 2) <> "" Then toutes les lignes de la colonne B ne sont par remplies alors je me pose la question de savoir si la colonne A est bien remplie
    Dans la négative, dans cette instruction DerLigA = Range("A65536").End(xlUp).Row, il est possible que DerLigA te renvoie une valeur qui pourrait-être inférieure au nombre de ligne que la colonne B
    Petite remarque qui n'a rien avoir avec ton problème:
    Dans ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Référence = Range("B" & i).Value 
        x = FindWindow("XLMAIN", Application.Caption)
        NomFichier = Référence 
        ShellExecute x, "print", NomFichier, "", "", 1
    Pourquoi passes-tu par une variable intermédiaire ?
    Tu pourrais faire l'économie de la variable Référence
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NomFichier = Range("B" & i).Value
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 109
    Par défaut
    Effectivement je peux me passer de la variable Référence. Bonne remarque

    Sinon mes colonnes A et B sont bien toutes remplies de A1 jusqu'à A82.
    (En A le nom du fichier PDF à imprimer, en B le chemin du fichier)
    Et le tout trié par ordre croissant, je ne comprend donc pas pourquoi des fichiers sont oubliés ...

    PS : En mettant MsgBox(DerLigA), il me renvoi bien 82.
    PS2 : Je peux aussi me passer du If Cells(i, 2) <> "" puisque ma colonne est toujours pleine.

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je n'ai pas d'expérience avec l'API FindWindows mais la lecture de ce paragraphe te donnera peut-être une idée
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 109
    Par défaut
    Je te remercie je vais jeter un oeil.
    Si tu as une autre idée ou solution je prend

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Une autre discussion sur le sujet avec un renvoi à un autre lien.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/09/2014, 21h18
  2. [XL-2003] Imprimer une liste de fichier depuis Excel
    Par Nikodemus dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/02/2012, 11h53
  3. Réponses: 1
    Dernier message: 06/02/2009, 17h58
  4. Afficher une liste de fichiers dans Excel
    Par EmmaZL dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/12/2007, 19h41
  5. importer une liste de distribution depuis excel
    Par gvajoker dans le forum Outlook
    Réponses: 3
    Dernier message: 12/08/2007, 08h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo