Je voudrais exécuter une macro sur certaines feuilles d'un classeur à la condition que le nom de la feuille soit constitué de 2 lettres majuscules suivies de 3 chiffres. Une idée?
VB:
Sub Tst()
Dim Ws As Worksheet
For Each Ws In Worksheets
If Ws.Name Like "sc###" Then '**c'est ici que ça bloque
'exécuter macro
else
'ne rien faire
End If
Next Ws
End Sub
Sub Tst()
Dim Ws As Worksheet
For Each Ws In Worksheets
If UCase(Mid(Ws.Name, 1, 2)) = Mid(Ws.Name, 1, 2) And IsNumeric(Mid(Ws.Name, 3, 3)) Then
'exécuter macro
Else
'ne rien faire
End If
Next Ws
End Sub
Sub Tst()
Dim Ws As Worksheet
For Each Ws In Worksheets
If UCase(Mid(Ws.Name, 1, 2)) = Mid(Ws.Name, 1, 2) And IsNumeric(Mid(Ws.Name, 3, 3)) Then
'exécuter macro
Else
'ne rien faire
End If
Next Ws
End Sub
Pour le fun, une autre piste (plus restrictive puisque qu'on ne considère que les majuscules de A à Z) :
L'option "Option Compare Binary" est obligatoire:
VB:
Option Compare Binary
Sub TEST()
Dim Ws As Worksheet
For Each Ws In Worksheets
If Ws.Name Like "[A-Z][A-Z]###" Then
'exécuter macro
Else
'ne rien faire
End If
Next Ws
End Sub
Pour le fun, une autre piste (plus restrictive puisque qu'on ne considère que les majuscules de A à Z) :
L'option "Option Compare Binary" est obligatoire:
VB:
Option Compare Binary
Sub TEST()
Dim Ws As Worksheet
For Each Ws In Worksheets
If Ws.Name Like "[A-Z][A-Z]###" Then
'exécuter macro
Else
'ne rien faire
End If
Next Ws
End Sub
Bonjour Mapomme,
Merci beaucoup. Je suis preneur de toutes solutions pour enrichir mes connaissances.
En espérant, que ma petite cervelle retienne tout.