VBA Concatener des feuilles pour les imprimer

Résolu/Fermé
rorolidalgo - 18 juin 2013 à 09:31
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 18 juin 2013 à 18:09
Bonjour,

Dans Excel 2010, J'ai un tableau avec dans la 1er colonne des noms d'onglets de mon classeur.
Dans la 10iè colonne, je mets des croix pour savoir si je veux les imprimer ou non.

Je n'arrive pas à trouver le code pour concatener ma sélection d'onglets à imprimer.

J'ai écrit :

Dim Fichiers_a_imprimer As Sheets
For i = 2 To maPlage.Rows.Count

If maPlage.Cells(i, 10) = "X" Then

Set Fichiers_a_imprimer = Array(Fichiers_a_imprimer, Sheets(maPlage.Cells(i, 1)))

End If
Next

Lorsque je le fais manuellement, sur quelques onglet, j'obtiens bien:

Sheets(Array("A6.3", "A1.1", "A5.2", "A5.5")).Select

Merci de votre aide

A voir également:

2 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
18 juin 2013 à 09:53
Bonjour,

Si j'ai compris ce que tu veux, je te propose cette écriture :

Dim Fichiers_a_imprimer(), i As Integer, n As Integer
With maPlage
    For i = 2 To .UsedRange.Rows.Count
        If .Cells(i, 10) = "X" Then
            ReDim Preserve Fichiers_a_imprimer(n)
            Fichiers_a_imprimer(n) = .Cells(i, 1)
            n = n + 1
        End If
    Next i
End With
Sheets(Fichiers_a_imprimer).Select
0
rorolidalgo
18 juin 2013 à 10:58
Merci bien, c'est exactement ça!
Simplement une question: tu es obligé de commencer avec n=0 ou on peut partir de 1 également?
Merci encore!
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
18 juin 2013 à 18:09
Par défaut, le premier élément du tableau reçoit l'index 0 et non pas 1.

Ceci peut être changé en ajoutant en tête de module :

option base 1

Dans ton cas ce n'a pas beaucoup d'importance car à priori tu ne manipules pas le tableau.
0