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 :

Sélectionner plusieurs feuilles Excel pour les imprimer


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Avril 2007
    Messages
    272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2007
    Messages : 272
    Par défaut Sélectionner plusieurs feuilles Excel pour les imprimer
    Bonjour,

    Mon souci est de pouvoir sélectionner une Array de plusieurs feuilles afin de les imprimer ou les enregistrer dans un fichier PDF.

    Les feuilles à imprimer sont contenus dans une zone nommée discontinue, par exemple : "Feuil1!A1;Feuil2!A1, Feuil3!A1"
    La boucle en premier extrait le nom des feuilles à sélectionner.
    La zone nommée peut aller de 1 à n feuilles.

    Par avance merci d'un petit aiguillage

    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
     
    Dim F As String                                           ' F contient la zone nommée range multiple
    Dim FFs(30) As Variant, FFn(30) As Variant   ' FFs pour le nom des feuilles
                 F = ActiveWorkbook.Names(No_N).RefersTo
                    F = Mid(F, 2, Len(F))
                    K = 1: L = 1
                    If InStr(K, F, ",", vbBinaryCompare) > 1 Then
                        While InStr(K, F, ",", vbBinaryCompare) > 1
                            FFn(L) = Mid(F, K, InStr(K, F, ",", vbBinaryCompare) - K)
                            FFs(L) = Left(FFn(L), InStr(1, FFn(L), "!", vbBinaryCompare) - 1)
                            K = K + Len(FFn(L)) + 1
                            L = L + 1
                        Wend
                        FFn(L) = Right(F, Len(F) - K + 1)
                        FFs(L) = Left(FFn(L), InStr(1, FFn(L), "!", vbBinaryCompare) - 1)
                        Sheets(Array(FFs(????))).Select

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, voir ici en bas de ce post 1 Impression de certaines Feuilles d'un classeur via un tableau dans un seul Pdf résultant en l'adaptant à ton contexte

  3. #3
    Membre expérimenté
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Avril 2007
    Messages
    272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2007
    Messages : 272
    Par défaut
    Salut,

    Le Post cité m'a bien aidé à progresser, il me reste une erreur #9 lors de cette instruction "Sheets(FFs).Select",
    Le code est maintenant le suivant, à priori mon Array est bien dimensionné (en Option Base 0), je ne vois pas bien l'origine de l'anomalie.

    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
     
                   F = ActiveWorkbook.Names(No_N).RefersTo
                    F = Mid(F, 2, Len(F))
                    K = 1: L = 0
                    If InStr(K, F, ",", vbBinaryCompare) > 1 Then
                        While InStr(K, F, ",", vbBinaryCompare) > 1
                            ReDim Preserve FFs(L + 1), FFn(L + 1)
                            FFn(L) = Mid(F, K, InStr(K, F, ",", vbBinaryCompare) - K)
                            FFs(L) = Left(FFn(L), InStr(1, FFn(L), "!", vbBinaryCompare) - 1)
                            K = K + Len(FFn(L)) + 1
                            L = L + 1
     
                        Wend
                        ReDim Preserve FFs(L + 1), FFn(L + 1)
                        FFn(L) = Right(F, Len(F) - K + 1)
                        FFs(L) = Left(FFn(L), InStr(1, FFn(L), "!", vbBinaryCompare) - 1)
                        Sheets(FFs).Select

  4. #4
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, je ne pratique pas l'extispicine, à toi de voir le contenu de ton tableau, d'utiliser des debug.print etc

Discussions similaires

  1. Feuille Excel pour résoudre les sudoku
    Par mrhinn dans le forum Contribuez
    Réponses: 0
    Dernier message: 04/03/2015, 17h03
  2. Réponses: 2
    Dernier message: 17/02/2015, 10h16
  3. Faire le meme calcul pour plusieurs feuilles excel
    Par id301077 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/11/2013, 16h35
  4. [XL-2003] Séparer des feuilles excel pour les répartir dans des dossiers
    Par many6976 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 01/07/2013, 11h32
  5. [POI][JDIC] Imprimer plusieurs "feuilles" Excel
    Par Invité dans le forum Documents
    Réponses: 2
    Dernier message: 22/02/2008, 13h27

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