Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

tester l'existence d'une feuille

4 réponses
Avatar
François
Bonjour!
Dans un classeur je voudrais tester l'existence d'au moins une des feuilles
dont le nom est: "0121" "0129" "0127" . J'ai pensé à récupérer une erreur du
style :
sheets("0121").name = monNom ...
Je suis preneur pour d'autres solutions!

Merci!
François

4 réponses

Avatar
LSteph
Bonjour François,
Une possibilité:

'***
Sub vfn()
Dim tstf As Boolean, sh As Worksheet
tstf = False
For Each sh In ActiveWorkbook.Sheets
If sh.Name Like "0121" _
Or sh.Name Like "0127" _
Or sh.Name Like "0129" Then
tstf = True
Exit For
End If
Next
MsgBox tstf
End Sub
'***

'lSteph



"François" a écrit dans le message de
news:
Bonjour!
Dans un classeur je voudrais tester l'existence d'au moins une des
feuilles
dont le nom est: "0121" "0129" "0127" . J'ai pensé à récupérer une erreur
du
style :
sheets("0121").name = monNom ...
Je suis preneur pour d'autres solutions!

Merci!
François


Avatar
Pierre Fauconnier
Bonjour

Une fonction perso permet cela. Elle renvoie VRAI si la feuille existe, FAUX
dans les autres cas:

Function Feuille_Existe(Nom_Feuille As String) As Boolean
Dim feuille As WorkSheet

For Each feuille In ActiveWorkbook.Worksheets
If feuille.Name = Nom_Feuille Then Feuille_Existe = True: Exit
Function
Next feuille
End Function

Une variante qui renvoie un objet Worksheet si la feuille est trouvée,
l'objet Nothing dans les autres cas

Function Get_Feuille(Nom_Feuille As String) As Worksheet
Dim feuille As Worksheet

For Each feuille In ActiveWorkbook.Worksheets
If feuille.Name = Nom_Feuille Then Set Get_Feuille = feuille: Exit
Function
Next feuille
End Function

Cela convient-il?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci


"François" a écrit dans le message de
news:
Bonjour!
Dans un classeur je voudrais tester l'existence d'au moins une des
feuilles
dont le nom est: "0121" "0129" "0127" . J'ai pensé à récupérer une erreur
du
style :
sheets("0121").name = monNom ...
Je suis preneur pour d'autres solutions!

Merci!
François


Avatar
François
Merci Pierre, c'est parfait !


Bonjour

Une fonction perso permet cela. Elle renvoie VRAI si la feuille existe, FAUX
dans les autres cas:

Function Feuille_Existe(Nom_Feuille As String) As Boolean
Dim feuille As WorkSheet

For Each feuille In ActiveWorkbook.Worksheets
If feuille.Name = Nom_Feuille Then Feuille_Existe = True: Exit
Function
Next feuille
End Function

Une variante qui renvoie un objet Worksheet si la feuille est trouvée,
l'objet Nothing dans les autres cas

Function Get_Feuille(Nom_Feuille As String) As Worksheet
Dim feuille As Worksheet

For Each feuille In ActiveWorkbook.Worksheets
If feuille.Name = Nom_Feuille Then Set Get_Feuille = feuille: Exit
Function
Next feuille
End Function

Cela convient-il?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci


"François" a écrit dans le message de
news:
Bonjour!
Dans un classeur je voudrais tester l'existence d'au moins une des
feuilles
dont le nom est: "0121" "0129" "0127" . J'ai pensé à récupérer une erreur
du
style :
sheets("0121").name = monNom ...
Je suis preneur pour d'autres solutions!

Merci!
François







Avatar
François
Merci LSeph c'est parfait!


Bonjour François,
Une possibilité:

'***
Sub vfn()
Dim tstf As Boolean, sh As Worksheet
tstf = False
For Each sh In ActiveWorkbook.Sheets
If sh.Name Like "0121" _
Or sh.Name Like "0127" _
Or sh.Name Like "0129" Then
tstf = True
Exit For
End If
Next
MsgBox tstf
End Sub
'***

'lSteph



"François" a écrit dans le message de
news:
Bonjour!
Dans un classeur je voudrais tester l'existence d'au moins une des
feuilles
dont le nom est: "0121" "0129" "0127" . J'ai pensé à récupérer une erreur
du
style :
sheets("0121").name = monNom ...
Je suis preneur pour d'autres solutions!

Merci!
François