xaeris
Messages postés109Date d'inscriptiondimanche 18 décembre 2005StatutMembreDernière intervention22 mai 2009
-
18 août 2008 à 16:51
FaroukVazaha
Messages postés42Date d'inscriptionjeudi 17 juin 2004StatutMembreDernière intervention11 septembre 2010
-
19 août 2008 à 16:55
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 ?
dedenet2
Messages postés372Date d'inscriptionvendredi 27 juillet 2007StatutMembreDernière intervention22 juillet 20132 18 août 2008 à 17:20
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
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 19 août 2008 à 08:23
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]
xaeris
Messages postés109Date d'inscriptiondimanche 18 décembre 2005StatutMembreDernière intervention22 mai 2009 19 août 2008 à 10:38
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.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 19 août 2008 à 11:14
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]
FaroukVazaha
Messages postés42Date d'inscriptionjeudi 17 juin 2004StatutMembreDernière intervention11 septembre 2010 19 août 2008 à 12:09
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