syntaxe si la feuille n'exite pas

C

celtic

Guest
BOnjourrrr A TOUSSSSSS !!!

voila je fais une boucle FOR et je teste toutes les feuilles d'un classeur exemple :

For t=0 to 52
....blabla
sheets(t).activate
....blabla
next t

mais komen faire si une feuille n'existe pas....?? je voudrais juste ke la boucle saute cette page c'est koi la syntaxe ???


autre kestion, je fais une recherche du chiffre 0000 mais a chaque fois il me prend 0 et non 0000 komen faire ????


merci encore et encore c'est ke le debut ... d'accord d'accord...tutut
 
C

CBernardT

Guest
Bonjour Celtic

Pour la première question :

soit tu rassembles les feuilles que tu ne veux pas voir passer dans la boucle en début des onglets et tu démarres la boucle à la feuille 3 par exemple avec le code :

For t = 3 to 52

sheets(t).select

next t

soit tu mets une condition :

Sub Macro1()
Dim t As Byte
For t = 1 To 4
If Sheets(t).Name <> "tata" Then
Sheets(t).Select
End If
Next t

End Sub

Cordialement

CbernardT
 
C

celtic

Guest
merci CbernardT, mais je me suis mal expliqué...


en fait g des feuilles de 1 à 52, le problème est que lorsque je fait tourner ma boucle, si dans un classeur il n'existe pas la feuille par exemple 15 et bien le programme bug...

Le sheet.name n'intervient pas, du moins j'aimerais bien.

En gros le code devrait faire:

si la feuille(t) n'existe pas alors passe a la (t+1) (syntaxe ???)

j'espere avoir été clair...(c'est dur pour un débutant de se faire comprendre)

merci pour ta réponse...
 
Y

Yeahou

Guest
Bonjour Celtic, CBernardT, le forum

Comme tu passes par l'index et non par le nom, il suffit de limiter ta boucle au nombre de feuilles du classeur

For t=1 to ActiveWorkbook.Sheets.Count

Cordialement, A+
 
M

Michel_M

Guest
bonjour celtic, Bernard, Yeahou


si sheets(t) n'existe pas alors qu'il existe t+1, t-1 etc

dans la boucle:

on error resume next
sheets(t).activate
on error goto 0

A bientôt pour de nouvelles aventures...

Michel
 
Y

Yeahou

Guest
Re Bonjour Celtic, Cbernardt, Michel_M, le forum

Michel, ce cas est impossible, les index se décalent en cas de suppression ou de déplacement d'une feuille et vont toujours de 1 à sheets.count. L'index se rapporte obligatoirement à la position de la feuille dans le classeur. C'est pour cela que j'ai précisé "comme tu passes par l'index".

Cordialement, A+
 
Y

Yeahou

Guest
Re Bonjour

Je suis désolé de te contredire de nouveau, Michel, mais c'est toi qui avait raison. Une feuille masquée garde son index mais ne peut être activée, ta proposition prend tout son sens pour gérer ce cas et est donc importante pour un code polyvalent. Désolé d'avoir été lent de réflexion sur ce coup là.

Bien cordialement, A+
 
M

Michel_M

Guest
Re RE Yeahou

Très sincèrement, je n'avais pas pensé à la feuille masquée ! et il est vrai que le test sheets(X) ne marche pas avec un index X car le décalage se produit comme tu l'as expliqué; cet aprèm j'étais encore sous l'influence d'un code où je testais le NOM worksheets("toto") de la feuille où cela fonctionne...

Amicalement

Michel
 

Discussions similaires

Statistiques des forums

Discussions
313 095
Messages
2 095 217
Membres
106 223
dernier inscrit
gel