Microsoft 365 Selection de plusieurs feuilles Excel sous VBA (selection non figée)

micmond

XLDnaute Nouveau
Je cherche (désespéramment) à sélectionner plusieurs feuilles ou onglet dans un fichier Excel VBA (cette liste n'est pas figée)
Je veux mettre les noms à chercher dans un tableau ou une liste et demander à excel de selectionner cette liste
Exemple de ce que je recherche
Dim temp() As Variant
Sheets(temp()).Select ou
Sheets(temp).Select
ne fonctionne pas si temp est defini comme Dim temp() As Variant ou Dim temp() As String avec plus d'une valeur string (nom d'onglet par exemple) dans le tableau
exemple temp(0) = "aaa' et temp(1) = "bbb"
-----------
Note : je ne veux pas de solution du type
Sheets(Array("aaa", "bbb")).Select qui fonctionne
J'ai essayé
Onglet_a_Imprimer = "aaa" & "," & "bbb"
Sheets(Onglet_a_Imprimer ).Select mais cela ne fonctionne pas
 
Solution
Désolé pour ne pas avoir dit Bonjour précédemment donc Bonjour cette fois -ci
J'ai choisi la solution suivante de mapomme trouvée sur le mème site qui a fonctionné pour moi

Sub Test()
Dim liste As String
liste = "Feuil1" & ";" & "Feuil3" & ";" & "Feuil5"
Sheets(Split(liste, ";")).Select
Sheets("feuil3").Activate
End Sub

Note ;
J'avais essayé la solution Sheets(temp).Select mais elle ne fonctionnait pas pour moi mais je ressayerais avec exactement le meme code que toi (Roblochon).
La solution tp = Array("Feuil1", "Feuil2") ne me convient pas car pas facile de changer les noms dans array

Cdt

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Oui tout d'abord on dit bonjour en entrant sur un fil de discussion, c'est la règle ici, mais pour le savoir il faut avoir pris le temps de lire la charte du forum.

sinon ceci fonctionne :
VB:
Sub SelectionFeuille()
    Dim temp(0 To 1) As String
    Dim tp As Variant
    tp = Array("Feuil1", "Feuil2")
    temp(0) = "Feuil1"
    temp(1) = "Feuil2"
    '
    ' Les deux fonctionnent
    Sheets(tp).Select
    Sheets(temp).Select
End

Cordialement
 

micmond

XLDnaute Nouveau
Désolé pour ne pas avoir dit Bonjour précédemment donc Bonjour cette fois -ci
J'ai choisi la solution suivante de mapomme trouvée sur le mème site qui a fonctionné pour moi

Sub Test()
Dim liste As String
liste = "Feuil1" & ";" & "Feuil3" & ";" & "Feuil5"
Sheets(Split(liste, ";")).Select
Sheets("feuil3").Activate
End Sub

Note ;
J'avais essayé la solution Sheets(temp).Select mais elle ne fonctionnait pas pour moi mais je ressayerais avec exactement le meme code que toi (Roblochon).
La solution tp = Array("Feuil1", "Feuil2") ne me convient pas car pas facile de changer les noms dans array

Cdt
 

micmond

XLDnaute Nouveau
Bonjour

1609916582762.png

Désolé de l'avoir fait mais comme l'ancienne discussion datait de 2013 et qu'il n'y avait pas la solution... Je n'était pas sur que quelqu'un allait reprendre cette discussion. C'est vrai qu'il faudrait que je passe du temps à bien lire la chartre... Merci pour toutes vos réponses
 

Discussions similaires

Réponses
2
Affichages
113

Statistiques des forums

Discussions
312 195
Messages
2 086 083
Membres
103 114
dernier inscrit
sylvainb6969