Macro avec boucle "For Each Feuille" pour une partie du nom - VB/VBA/VBS - Programmation
Marsh Posté le 01-04-2008 à 00:47:07
Salut, qqch comme
|
Marsh Posté le 01-04-2008 à 21:41:12
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?
Marsh Posté le 01-04-2008 à 22:24:44
Oui,via une variable style compteur qui s'incrémente si la condition est remplie
Marsh Posté le 01-04-2008 à 22:28:51
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.
Marsh Posté le 01-04-2008 à 23:12:26
une variable Cpt=Cpt+1 si la condition de nom est remplie, initialisée à 0 avant la boucle
Marsh Posté le 27-09-2010 à 17:53:35
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??
Marsh Posté le 27-09-2010 à 18:22:25
Salut, regarde l'aide en ligne sur Like et remplace ### par ???
rajoute également un Ws.Activate avant le Range select
Marsh Posté le 27-09-2010 à 18:36:03
kiki29 a écrit : Salut, regarde l'aide en ligne sur Like et remplace ### par ??? |
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
Marsh Posté le 31-03-2008 à 21:42:01
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