Sélection multiple de feuille excel

Signaler
Messages postés
109
Date d'inscription
dimanche 18 décembre 2005
Statut
Membre
Dernière intervention
22 mai 2009
-
Messages postés
42
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
11 septembre 2010
-
bonjour tout le monde !

je voulais savoir si il était possible en vba excel de sélectionner plusieurs feuilles en meme temps.
Ce code la ne fonctionne pas :

    Dim ws As Worksheet

    For Each ws In ActiveWorkbook.Sheets
        If ws.Name Like "*" & hahaha & "*" Then
        ws.Activate
        ws.Select False
        End If
    Next

il plante sur  ws.Select False.
Quelqu'un aurait-il une idée ?

merci d'avance !
-xaeris-

12 réponses

Messages postés
372
Date d'inscription
vendredi 27 juillet 2007
Statut
Membre
Dernière intervention
22 juillet 2013
1
Bonjour ,
On peut selectionner plusieurs feuilles à la fois.
Mais seule une feuille peut être active.
Si j'ai bien compris, t'utilises 'Like' pour ouvrir toutes les feuilles
avec ce critère texte hahaha.
j'ai essaye ton programme sur excel 2000.
Cela à fonctionner dans j'ai écris "hahaha" plutot que hahaha
Mais ce n'ai peut etre pas ce que tu veux ?
hahaha est il un texte ou un variable ?
<<ws.Select False>> ne fait pas planter nom programme

Voilà ce que je peux dire pour le moment
A++
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
50
Salut,

"il plante sur  ws.Select False." Il plante d'accord, mais il doit bien te dire quelques choses non? il ne plante pas sans rien dire...

Petite astuce en VBA Excel: Si tu ne sais pas traduire une action utilisateur (possible avec souris ou touches) en code VBA, passe par l'enregistreur de macro. OK il donne du code parfois lourd et avec parfois des lignes "inutiles" mais il a le mérite d'exister et de donner un GROS coup de pouce lorsque tu es bloqué.
<ol><li>Enregistrer une macro:  Menu utils > M Nouv lle macro... + OK </li><li>X actions utilisateurs</li><li>Arreter l'enregistrement: Menu O Macro ></li></ol>
Exemple: je veux savoir comment supprimer deux feuilles excel sélectionnées.

<ol><li>Debut enregistrement.</li><li>Selection des deux feuilles en meme temps</li><li>suppression</li><li>Arret de l'enregistrement de la macro</li><li>Ouverture de l'IDE VBA pour regarder le code résultant</li></ol>
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 19/08/2008 par X
'

'
   Sheets(Array("Feuil1", "Feuil2")).Select
   Sheets("Feuil2").Activate
   ActiveWindow.SelectedSheets.Delete
End Sub , ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i€n
Pensez: Réponse acceptée
Messages postés
109
Date d'inscription
dimanche 18 décembre 2005
Statut
Membre
Dernière intervention
22 mai 2009

rebonjour! tout d'abord merci de vos réponses!

j'avais déja créé la macro vba pour la sélection multiple.
Néanmoins il est impossible ( je crois) d'ajouter automatiquement des éléments a un array. c'est pourquoi je voulais savoir s'il existait un autre moyen de sélectionner plusieurs feuilles.

Si on veut, j'ai un classeur contenant plusieurs feuilles. Ces feuilles ont toutes une partie du nom en commun donc je fais le tri sur cette partie. et je voudrais sélectionner toutes le feuilles contenant la partie commune.
J'ai fait des test et pour l'instant s'il n'y a qu'une seule feuille, il n'y a aucun problème, dans le cas ou il y en a deux, cela plante. ( Désolé, je ne peux pas acceder au message d'erreur pour l'instant.)

Mon but final est de pouvoir réaliser une impression de toutes les feuilles sélectionnée.

me suis-je bien exprimé ?
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
50
Re,
Essaie peu etre ceci.

Dim ws As Worksheet
Dim WSS() As String

   ReDim WSS(0)
   For Each ws In ActiveWorkbook.Sheets
       If ws.Name Like "*" & hahaha & "*" Then
           WSS(UBound(WSS)) = ws.Name
           ReDim Preserve WSS(UBound(WSS) + 1)
       End If
   Next
   ReDim Preserve WSS(UBound(WSS) - 1)
   Stop
   
   Call Sheets(WSS).Select, ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i€n
Pensez: Réponse acceptée
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
50
Re,
Sorry j'ai posté trop vite => il faut enlever la ligne ou il y a STOP

@+: Ju£i€n
Pensez: Réponse acceptée
Messages postés
42
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
11 septembre 2010

Bonjour,

Essayes ce code cela devrait fonctionner

Private Sub CommandButton1_Click()

    Dim Fl As Worksheet
    Dim Feuilles() As String
    ReDim Feuilles(0)
    For Each Fl In Worksheets        If UCase(Mid(Fl.Name, 1, 6)) "HAHAHA" Then     ou alors   If UCase(Fl.Name)  Like "*" &HAHAHA& "*"  Then
           Feuilles(UBound(Feuilles)) = Fl.Name
           ReDim Preserve Feuilles(UBound(Feuilles) + 1)
        End If
    Next
    ReDim Preserve Feuilles(UBound(Feuilles) - 1)
    Sheets(Feuilles).Select
   
End Sub
Messages postés
109
Date d'inscription
dimanche 18 décembre 2005
Statut
Membre
Dernière intervention
22 mai 2009

j'ai testé l'idée que vous m'aviez fournie mais je me trouve devant cette erreur :


erruer d'excution 1004


la methode select de la classe sheets a échoué.
Cela vient peut etre des compléments que je n'ai pas intégrés ?
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
50
Sur quelle ligne il te dit cela.

@+: Ju£i€n
Pensez: Réponse acceptée
Messages postés
109
Date d'inscription
dimanche 18 décembre 2005
Statut
Membre
Dernière intervention
22 mai 2009

Sheets(Feuilles).Select
Messages postés
42
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
11 septembre 2010

Bonjour,
Je suis en Excel 2003 et le pgm, tel qu'il est, fonctionne sans erreur.
Vérifie bien le texte, quitte à faire un copier-coller

A ++
Messages postés
42
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
11 septembre 2010

Bonjour,
Je suis en Excel 2003 et le pgm, tel qu'il est, fonctionne sans erreur.
Vérifie bien le texte, quitte à faire un copier-coller

A ++
Messages postés
42
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
11 septembre 2010

Bonjour,

Ah oui : il faut aussi qu'au moins une des feuille réponde à la condition du nom en "HAHAHA"

A++