récuperer une partie du nom des feuilles

B

benji

Guest
Bonjour,

Qqu'un pourrait il me renseigner pour le pb suivant :

Je souhaite créer une collection contenant uniquement certaines feuilles du classeur. Le facteur discriminant étant dans le nom de la feuille (par ex. je veux prendre en compte les feuilles dont les noms contiennent la chaine "_03" sachant que je ne connais pas le nom exact des feuilles).

Merci

Benji
 
@

@+Thierry

Guest
Salut Benji, le Forum

Bon alors quand même, il faut aussi avoir quelques structures rigides dans la conception d'un classeur. Tu ne vas pas me faire croire que tu ne peux avoir ta fraction de string de 3 digits que n'importe où dans le nom de ta feuille !

VBA peut pratiquement tout faire, mais franchement là c'est un peu comme si on fait travailler une personne pour faire du rangement toute la journée parceque tout ce que l'on imprime, on le jette à travers la pièce en vrac !

Non un nom de feuille, généré en auto, ou généré par le User doit avoir un minimum de structure.

Si admettons le règle est que ta string est en fin de nom de feuille (exemple Feuil1_01, Feuil1_02, Feuil2_01, Feuil2_02, Feuil3_03 etc...)

Une macro toute simple comme celle-ci te fera ta collection sans souci, il suffit que tu fasses appliquer une règle stricte dans la dénomination des feuilles :

Sub Feuille3DigitRight()
Dim WS As Worksheet
Dim msg As String
For Each WS In Sheets
If Right(WS.Name, 3) = "_01" Then
msg = msg & WS.Name & vbCrLf
End If
Next WS
MsgBox msg
End Sub


Car maintenant si c'est la String "_01" que tu dois trouver n'importe où dans des noms de feuilles pouvant avoir des longueurs variables c'est une vrai usine à gaz (non fiable car de toute manière dans une telle anarchie tu pourrais avoir un User qui ait nommé la feuille "LaFeuille-01TsoinTsoin" et pas "LaFeuille_01TsoinTsoin")

Voilà c'est ma façon de voir les choses, car sinon c'est du "Find", et ensuite du "Mid" avec un sacré code pour être sûr que les trois digits sont contigus dans la chaine...

Bon Courage et Dimanche
@+Thierry
 

Discussions similaires

Statistiques des forums

Discussions
312 167
Messages
2 085 901
Membres
103 027
dernier inscrit
Dridi Ahmed