Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1560 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Macro avec boucle "For Each Feuille" pour une partie du nom

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Macro avec boucle "For Each Feuille" pour une partie du nom

n°1710667
lillumulti​pass
Posté le 31-03-2008 à 21:42:01  profilanswer
 

Bonjour à tous!
 
alors voilà, je dois faire un projet VB, et je dois faire des opérations sur plusieurs feuilles (mais pas sur toutes les feuilles de mon classeur!).
Pour l'instant, j'ai ça:
 
"groupe = Array("ETF 22 01 2001", "ETF 23 01 2001", "ETF 24 01 2001", "ETF 25 01 2001", "ETF 26 01 2001", "ETF 29 01 2001" )
   
   For Each Feuille In Sheets(groupe)"...
 
où les ETF XXXX sont les noms des 6 feuilles. ça marche très bien, mais j'aimerais bien faire un truc plus général, au cas où j'ai plus que 6 feuilles.
L'idéal serait d'avoir une boucle du style For Each Feuille in Worksheet où le nom contient "ETF" (étant donné que c'est ce qui distingue ces feuilles des autres: elles commencent toutes par ETF). C'est possible ça?
 
Merci  :bounce:

mood
Publicité
Posté le 31-03-2008 à 21:42:01  profilanswer
 

n°1710769
kiki29
Posté le 01-04-2008 à 00:47:07  profilanswer
 

Salut, qqch comme


Option Explicit
 
Sub Tst()
Dim Ws As Worksheet
    For Each Ws In Worksheets
        If Ws.Name Like "ETF ## ## ####" Then
            ...
        End If
    Next Ws
End Sub

n°1711246
lillumulti​pass
Posté le 01-04-2008 à 20:09:42  profilanswer
 

Merci, je vais regarder ça!

n°1711285
lillumulti​pass
Posté le 01-04-2008 à 21:41:12  profilanswer
 

Ok, ça a l'air de marcher. Et si maintenant je veux stocker dans une variable le nombre de feuilles qui répondent à ce critère.
C'est possible aussi ça?

n°1711291
kiki29
Posté le 01-04-2008 à 22:24:44  profilanswer
 

Oui,via une variable style compteur qui s'incrémente si la condition est remplie

n°1711293
lillumulti​pass
Posté le 01-04-2008 à 22:28:51  profilanswer
 

je suis en train de réfléchir à comment le faire avec un Count, mais ça ne marche pas.
 
Je fais ça parceque j'aimerais avoir ce nombre avant de lancer ma boucle.

n°1711310
kiki29
Posté le 01-04-2008 à 23:12:26  profilanswer
 

une variable Cpt=Cpt+1 si la condition de nom est remplie, initialisée à 0 avant la boucle


Message édité par kiki29 le 02-04-2008 à 04:48:46
n°2025452
Coellophys​is
Posté le 27-09-2010 à 17:53:35  profilanswer
 

Bonjour,
 
J'ai essayé d'appliquer ce code mais lorsque VBA trouve une feuille qu'il doit traiter, il va directement sur "End IF", voici mes codes:
 
Dim ws As Worksheet
For Each ws In Worksheets
       If ws.Name Like "FC ###" Then
           
 
       Range("c3" ).Select
       End IF
Next ws
 
---------------
 
VBA trouve d'abord 4 sheets qui ne commencent pas par "FC", il les passe correctement, par contre, il est sensé trouvé FC Ton et effectuer le travail mais il ne le fait pas??
 
Vous avez une idée??

n°2025462
kiki29
Posté le 27-09-2010 à 18:22:25  profilanswer
 

Salut, regarde l'aide en ligne sur Like et remplace ### par ???
rajoute également un Ws.Activate avant le Range select

n°2025466
Coellophys​is
Posté le 27-09-2010 à 18:36:03  profilanswer
 

kiki29 a écrit :

Salut, regarde l'aide en ligne sur Like et remplace ### par ???
rajoute également un Ws.Activate avant le Range select


 
 
Ah oui j'ai consulté l'aide et je vois que # n'est que pour des digits, effectivement ça marche
 
J'avais mis l'activate de la sheet mais par après je l'ai enlevé.
 
Merci beaucoup en tout cas, maintenant ça fonctionne :) et je ne m'attendais pas à une réponse si rapide  :bounce:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Macro avec boucle "For Each Feuille" pour une partie du nom

 

Sujets relatifs
Exportation Macro excel "VB" win ---> MacInsertion de pls graphiques dans une feuille excel
une partie de l'interface s'imprime temporairement dans une autreMacro excel passer plusieurs variable
Comment protéger une macro dans excel de tout accès extérieurProblème "simple" (?) de boucle
Macro pour changer couleur de fond de cellulerécupérer une partie d'une chaîne de caractère (en partant de la fin)
Problème sauvegarde envoi de mails Lotus Notes dans macro VBA[XSL]Appliquer une feuille de style sur un fichier résultat
Plus de sujets relatifs à : Macro avec boucle "For Each Feuille" pour une partie du nom


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR