Impression de plusieurs feuilles...

i0raek

XLDnaute Occasionnel
Bonjour à tous,

je reviens vers vous pour solliciter votre aide... :eek:

Voici mon problème :
J'ai une userform avec une listbox qui se charge avec le nom de certaines feuilles.

A partir de la , je charge une liste avec les lignes sélectionnées de la listbox :
Code:
            TamponList=Array("")
            If listbox.Selected(i) = True Then
                ReDim Preserve TamponList(UBound(TamponList) + 1)
                TamponList(UBound(TamponList) - 1) = _
                    listbox.List(i)

            End If

Jusque la, tout va bien !
La ou ca se complique, c'est au niveau de l'impression...

Il ne comprend pas quand je lui mets :
Code:
sheets(tamponlist).printout

Pour lui, "l'indice n'appartient pas à la selection"...

Est ce que quelqu'un aurait une idée ?

Merci d'avance pour votre aide !!!
 

i0raek

XLDnaute Occasionnel
Re : Impression de plusieurs feuilles...

Bonsoir JNP,

en fait, je me suis dis que :
Code:
sheets(Array("Feuil1","Feuil2")).printout
était pareil que :
Code:
            TamponList=Array("")
            If listbox.Selected(i) = True Then
                ReDim Preserve TamponList(UBound(TamponList) + 1)
                TamponList(UBound(TamponList) - 1) = _
                    listbox.List(i)

            End If
            sheets(tamponlist).printout

le problème c'est que si je mets
Code:
Sheets(TamponList(i)).PrintOut

lorsque j'imprime en PDF, il me sort autant de fichiers que de feuilles...
 

JNP

XLDnaute Barbatruc
Re : Impression de plusieurs feuilles...

Re :),
Tu peux faire un script sur AcrobatPro pour rassembler tes PDF, mais je reconnais que c'est pas cool...
Par contre, si tu passes par une variable String en cumul des feuilles par concaténation et en utilisant les CodeName pour éviter les "", peut-être ?
A + :cool:
 

i0raek

XLDnaute Occasionnel
Re : Impression de plusieurs feuilles...

Re,

l'idée de la string est vraiment bonne... mais ce serait trop simple !
par ce que même en concatenant, il me sort :

"Feuil1,Feuil2,Feuil3"

au lieu de

"Feuil1","Feuil2","Feuil3" :mad:

je ne sais pas comment contourner le pb...

Si tu as une idée ?
 

i0raek

XLDnaute Occasionnel
Re : Impression de plusieurs feuilles...

Re !

alors, avec une petit Replace et quelques "" j'arrive à :

"Feuil1","Feuil2" mais ca ne fonctionne toujours pas !!! :(

voici le code :
Code:
        For i = 0 To listbox.ListCount - 1

            If listbox.Selected(i) = True Then
                If TamponString = "" Then
                    TamponString =listbox.List(i)
                Else
                    TamponString = TamponString & "," &  listbox.List(i)
                End If
            End If

        Next

Sheets(Array("""" & Replace(TamponString , "," , """,""") & """")).PrintOut

dans l'attente d'une petite illumination ! :D
 

JNP

XLDnaute Barbatruc
Re : Impression de plusieurs feuilles...

Re :),
C'est pour cela que je te parlais de passer par les CodeName, càd le nom de la feuille en interne (dans le projet VBA) et non le nom changé dans l'onglet. Du fait, la String : Feuilles = "Feuil1, Feuil2, Feuil3" mise dans Sheets(Array(Feuilles).PrintOut pourrait marcher.
Bon courage :cool:
 

Discussions similaires

Statistiques des forums

Discussions
312 153
Messages
2 085 799
Membres
102 980
dernier inscrit
brossadan