add et nombre de feuilles sélectionnées

Guy_M

XLDnaute Occasionnel
Bonjour,

Quand plusieurs feuilles non contiguës sont sélectionnées
Code:
ActiveWorkbook.DialogSheets.Add
génère une erreur ("Impossible d'exécuter cette commande sur des sélections multiples").

Je ne comprends pas pourquoi, quelqu'un a-t-il une explication ?

J'ai essayé naïvement
Code:
ActiveWorkbook.DialogSheets.Add(1)
mais j'ai systématiquement une erreur "la méthode add de l'objet sheet a échoué".

Je m'en sors en ajoutant
Code:
If ActiveWorkbook.Windows(1).SelectedSheets.Count > 1 Then ActiveWorkbook.Windows(1).SelectedSheets(1).Select
à la ligne précédente.

Mon objectif est que les feuilles sélectionnées à l'entrée de la procédure soient toujours sélectionnées à la sortie de la procédure.

Auriez-vous un truc simple pour contourner ? (j'ai pas envie de gérer un tableau des numéros/noms des feuilles sélectionnées puis à la sortie de la procédure sélectionnée les feuilles conformément au contenu du tableau)

Par avance, je vous remercie pour vos explications et propositions.

Salutations
Guy
 

GIBI

XLDnaute Impliqué
Re : add et nombre de feuilles sélectionnées

Bonjour,

il faut mémoriser les onglets actif dans un tableau (ARRAY)

Private Sub CommandButton1_Click()
Dim Feuilles() As String
ReDim Feuilles(0)
For Each WS In ActiveWorkbook.Windows(1).SelectedSheets
Feuilles(UBound(Feuilles)) = WS.Name
ReDim Preserve Feuilles(UBound(Feuilles) + 1)
Next
ReDim Preserve Feuilles(UBound(Feuilles) - 1)
'
' ton code
'


Sheets(Feuilles).Select ' pour re sélectionner les onglets

End Sub

Bon courage
 

Discussions similaires

Statistiques des forums

Discussions
312 758
Messages
2 091 784
Membres
105 074
dernier inscrit
JPATOUNE