nagattaque
Messages postés230Date d'inscriptionjeudi 29 mai 2003StatutMembreDernière intervention 5 juin 2007
-
28 juin 2004 à 09:55
nagattaque
Messages postés230Date d'inscriptionjeudi 29 mai 2003StatutMembreDernière intervention 5 juin 2007
-
28 juin 2004 à 11:09
Et voila, le lundi c'est reparti....
Bijour tout le monde, mon problème est simple, j'ai un classeur excel qui contient des feuilles. Le nom d'une de ces feuille change tout le temps mais contient toujours une chaine de caractère précise. Je veux récupérer des données de cette feuille, et pour ce faire je fais un
sheets("Ma_Feuille").activate
Donc ma question :
Comment selectionner une feuille sans connaitre son nom mais en connaissant une chaine de caractère faisant partie de son nom ?
juvamine
Messages postés468Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention30 août 20072 28 juin 2004 à 10:18
il fo recup l'indice de la feuille concernée
dim TaChaine 'contien ske le nom doit contenir
dim trouve as boolean
trouve=false
i=1 (1ere feuille)
while i <= activeworkbook.worksheets.count and trouve=false
if InStr(1,activeworkbook.worksheets(i).Name, TaChaine) <>0 then trouve=true
endif
i=i+1
Wend
l'indice de la feuille est = a i-1
sheets(i-1).activate
ou alors
nom=activeworkbook.worksheets(i-1).Name
sheets(nom).activate
fin voila je pense ke ta compris le principe
++
juva
Retrouvez une équipe de développeurs confirmés sur le tchate:
serveur : bastia.zefunChat.net
port : 6667
chan : #programmation
nagattaque
Messages postés230Date d'inscriptionjeudi 29 mai 2003StatutMembreDernière intervention 5 juin 2007 28 juin 2004 à 11:09
Merci à vous tous pour vos réponses rapide, j'ai donc fait un mixe de tout ça, et pour ceux qui tomberaient sur la discution, ce la donne :
Sub Find_Sheet(class, what)
'On se met sur le classeur
Workbooks(class).Activate
nb_sheet = Sheets.Count
'On parcourt les feuilles pour trouver la bonne
For i = 1 To Sheets.Count
'On recherche la chaine what dans les noms de feuilles
If InStr(UCase(Sheets(i).Name), what) <> 0 Then Exit For
Next i
'On enregistre le nom de la feuille dans Sheet_Name (variable public)
Sheet_Name = Sheets(i).Name
End Sub