[Déplacé VB6 --> VBA] Activer une feuille excel en ne connaissant qu'une partie

elfblue Messages postés 4 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 11 août 2009 - 7 août 2009 à 10:48
elfblue Messages postés 4 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 11 août 2009 - 11 août 2009 à 10:19
Bonjour à tous

J'ai une petite question qui vous paraitra cetainement simple mais comment fait-on pour activer une feuille pour excel 2003, dont on ne connait qu'une partie du nom?
De l'aide svp je suis totalement coincé pour la suite de la macro!!!
Merci

5 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
7 août 2009 à 14:14
Salut
Tu aurais pu donner un exemple.
Les feuilles peuvent être appelées nominativement, mais aussi par leur Index.
Il te suffit donc d'énumérer les feuilles pour retrouver la tienne.
Exemple :
Dim r As Long
For r = 1 To Sheets.Count
  If Sheets(r).Name Like "*toto*" Then
    Sheets(r).Select
    Exit For
  End If
Next r


Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
elfblue Messages postés 4 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 11 août 2009
7 août 2009 à 16:15
Merci beaucoup jack, voici une bonne épine de retiré
0
elfblue Messages postés 4 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 11 août 2009
7 août 2009 à 16:34
Autre petite question dans le meme esprit comment verifier qu'une feuille existe (nom de la feuille = statistic_1.09), ne connaissant qu'une partie du nom (statistic) voici l'idée:

if sheets(*statistic*).name n'existe pas then
Msgbox("Aucune feuille ne comporte le mot statistic")

else
call mamacro

Ps desolée pour ce code qui n'en n'ai pas
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
7 août 2009 à 19:57
Re
Plusieurs solutions, mais tu peux réutiliser la même technique :
Dim bTrouvé As Boolean
Dim r As Long
For r = 1 To Sheets.Count
  If Sheets(r).Name = "statistic_1.09" Then
    bTrouvé = True
    Exit For
  End If
Next r
If bTrouvé Then
  ' Existe
Else
  ' Existe pô
End If

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
elfblue Messages postés 4 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 11 août 2009
11 août 2009 à 10:19
Merci jack pour cette deuxieme épine
0
Rejoignez-nous