Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Bonjour, je souhaite tester si une feuille existe

V

viniboy

Guest
Bonjour à toutes et à tous,

Je cherche à tester que la feuille nommé feuil3 existe dans mon document. Si elle n'existe pas, cela arrete le programme et renvoie une msgbox expliquant le probleme. Cette formule que j'ai trouvée sur un site ne fonctionne pas chez moi (excel 2000) si la feuille n'existe pas, cela renvoie une erreur d'execution 9 'l'indice n'appartient pas à la selection'.

Voila le code:
Dim Feuille_remplissage_etudes as string
Feuille_remplissage_etudes = feuil3
'Début des tests de conformité des données
'teste si la feuille de remplissage existe
Worksheets(Feuille_remplissage_etudes).Select
If Err <> 0 Then
MsgBox ('Le programme va s'arreter. Vous devez d'abord créer une feuille de remplissage dans le bilan')
Exit Sub
End If

Merci beaucoup à tous de votre aide!
Cordialement,
Vincent
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir Vinboy, le Forum

Le mieux étant de commencer par le commencement...

Voici un début :


Cette macro va boucler sur toutes les feuilles, si la feuille existe elle sera sélectionnée, sinon tu auras un message...

Une méthode plus rapide serait de générer une erreur et de la récupérer, mais comme j'ai dit, vaut mieux commencer par le début...

Bonne Soirée
@+Thierry
 

Pyrof

XLDnaute Occasionnel
Bonjour,


Une toute petite information,
si on a beaucoup de feuilles cela peut gagner du temps
(certe infime mais..)


For Each WS In Worksheets
If WS.Name = WSname Then
WS.Select
Found = True
exit for
End If
Next


Bonne journée
 

ChTi160

XLDnaute Barbatruc
Re:Bonjour, je souhaite tester si une feuille exis

Salut vinboy
bonjour @+Thierry
bonjour le Forum

@+Thierry dit
Une méthode plus rapide serait de générer une erreur et de la récupérer
@+Thierry
je ne sais pas si tu le sais mais tu es très interressant pour les débutants
pourrais tu donc, m'expliquer avec un exemple cette façon de Faire ' récupérer une erreur ' suite à l'existance d'une feuille
merci d'avance
Bonne Journée

Message édité par: ChTi160, à: 22/07/2005 08:35
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re:Bonjour, je souhaite tester si une feuille exis

Bonjour Jean-Marie, Pyrof, VinBoy, le Forum

Très bien Pyrof, il est tout à fait juste de faire cet 'Exit For' dans ce type de boucle, j'aurais dû le préciser à VinBoy, surtout pour lui donner 'les bonnes habitudes' dès le départ, donc merci à toi pour lui.


Pour ce qui est de 'générer une erreur' et de la récupérer c'est un peu ce que Vinboy a trouvé comme code plus haut.

Sub OutIfNotFound()

On Error GoTo Out
Sheets(InputBox('Saisir le Nom de Feuille')).Select
Exit Sub
Out:
MsgBox 'Feuille Non Trouvée'
End Sub

Les puristes feraient de ceci un Function Boolean... (Voir Ti par exemple)

Bonne Journée
@+Thierry


EDITION !!!

Et sans être puriste ni puritain (lol)

Je me risque à cette function


Bonne Journée
@+Thierry

Message édité par: _Thierry, à: 22/07/2005 09:19
 

Pyrof

XLDnaute Occasionnel
Re:Bonjour, je souhaite tester si une feuille exis

Pour information voici une autre façon


Code:
Sub test()
nom_feuille = 'toto'
On Error Resume Next
Sheets(nom_feuille).Select
If Err = 9 Then MsgBox 'La feuille ' & nom_feuille & ' n'existe pas'
on error goto 0
End Sub


et il y a surement d'autres méthodes .....

A+
 
V

viniboy

Guest
Re:Bonjour, je souhaite tester si une feuille exis

Franchement, merci beaucoup de votre aide, c'est beaucoup mieux encore que ce que j'esperais. Et merci Thierry pour ton aproche didactique, qui me permet de comprendre en plus, et pas juste d'écrire des lignes de code.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…