OVH Cloud OVH Cloud

comment connaître le nom d'un onglet?

38 réponses
Avatar
lematou
bonsoir à tous

existe t il un moyen de tester la présence d'un onglet dans un fichier . XLS

merci beaucoup et bonne soirée

Jacks

8 réponses

1 2 3 4
Avatar
AV
Décidemment...
Tu disais quoi auparavant ?.... ;-))

......contradictoire avec le nom de la fonction......


Si tu veux changer le nom de la fonction, y a pas de copyright...;-)

AV

Avatar
JLuc
*Bonjour Pierre Fauconnier*,

Hum... suis-je chi...?


Non, on va pas dire çà comme çà : tu as tes convictions et tout ce que
tu as apporter est rempli de bon sens. :')
J'aurais jamais cru qu'une petite question comme celle ci, engendre un
tel débat !
Merci à tous les participants pour ce tas d'infos duquel on peut tirer
parti dans de prochain dévelopement. ;-)

--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
Pierre Fauconnier
Pour conclure, je dirais que ce n'est pas une question de conviction... ;-)

Jusqu'ici, seule ma fonction répond de façon correcte et fiable à la
question: Existe-t'il une feuille (graphe ou autre) portant tel nom...

Non que je cherche à avoir raison, je m'en tape comme un poisson d'une
pomme!, comme je me fous que l'on me trouve chiant. J'essaie d'éviter de
mettre des chausse-trappes dans mes fonctions, et surtout dans mes réponses.

Pourquoi? Parce que le novice en VBA qui va utiliser une autre solution
proposée risque de passer pas mal de temps à douter de ses compétences en
VBA lorsqu'il aura une erreur due à la fonction, partant du principe que la
réponse donnée est correcte (principe qui veut que ce qui vient d'internet
est correct, et que si quelqu'un donne une réponse, c'est qu'elle est juste,
correcte et fiable...) et que c'est lui qui fait l'erreur, avant de remettre
en cause ladite réponse.

Lorsque Lematou dit qu'il a sélectionné la plus courte et la plus simple, il
faut bien que quelqu'un lui dise qu'il a aussi, et j'en suis désolé pour toi
(ce n'est nullement une attaque personnelle!!), choisi la plus mauvaise des
solutions proposées. Libre à lui de coder ainsi, mais s'il fabriquait des
avions, crois bien que je m'arrangerais pour ne jamais embarquer dans l'un
de ses appareils... ;-))

Bon week-end.


--
Pierre Fauconnier () (Skype:
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

"JLuc" a écrit dans le message de news:

*Bonjour Pierre Fauconnier*,

Hum... suis-je chi...?


Non, on va pas dire çà comme çà : tu as tes convictions et tout ce que tu
as apporter est rempli de bon sens. :')
J'aurais jamais cru qu'une petite question comme celle ci, engendre un tel
débat !
Merci à tous les participants pour ce tas d'infos duquel on peut tirer
parti dans de prochain dévelopement. ;-)

--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O





Avatar
Jacky
Re....
mais s'il fabriquait des
avions, crois bien que je m'arrangerais pour ne jamais embarquer dans l'un
de ses appareils... ;-))
;o))))))

En attendent...tu peux faire un tour de voiture.
http://www.presence-pc.com/actualite/Nissan-XBox-360-13656/

--
Salutations
JJ

"Pierre Fauconnier" a écrit dans le
message de news:
Pour conclure, je dirais que ce n'est pas une question de conviction...
;-)

Jusqu'ici, seule ma fonction répond de façon correcte et fiable à la
question: Existe-t'il une feuille (graphe ou autre) portant tel nom...

Non que je cherche à avoir raison, je m'en tape comme un poisson d'une
pomme!, comme je me fous que l'on me trouve chiant. J'essaie d'éviter de
mettre des chausse-trappes dans mes fonctions, et surtout dans mes
réponses.

Pourquoi? Parce que le novice en VBA qui va utiliser une autre solution
proposée risque de passer pas mal de temps à douter de ses compétences en
VBA lorsqu'il aura une erreur due à la fonction, partant du principe que
la réponse donnée est correcte (principe qui veut que ce qui vient
d'internet est correct, et que si quelqu'un donne une réponse, c'est
qu'elle est juste, correcte et fiable...) et que c'est lui qui fait
l'erreur, avant de remettre en cause ladite réponse.

Lorsque Lematou dit qu'il a sélectionné la plus courte et la plus simple,
il faut bien que quelqu'un lui dise qu'il a aussi, et j'en suis désolé
pour toi (ce n'est nullement une attaque personnelle!!), choisi la plus
mauvaise des solutions proposées. Libre à lui de coder ainsi, mais s'il
fabriquait des avions, crois bien que je m'arrangerais pour ne jamais
embarquer dans l'un de ses appareils... ;-))

Bon week-end.


--
Pierre Fauconnier () (Skype:
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

"JLuc" a écrit dans le message de news:

*Bonjour Pierre Fauconnier*,

Hum... suis-je chi...?


Non, on va pas dire çà comme çà : tu as tes convictions et tout ce que tu
as apporter est rempli de bon sens. :')
J'aurais jamais cru qu'une petite question comme celle ci, engendre un
tel débat !
Merci à tous les participants pour ce tas d'infos duquel on peut tirer
parti dans de prochain dévelopement. ;-)

--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O









Avatar
JLuc
*Bonjour Pierre Fauconnier*,

choisi la plus mauvaise des solutions proposées
:-[ :-[ >:| :-@ >:| :-[ :-[


La moins bonne, cher ami, la moins bonne :-)

--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
Pierre Fauconnier
Tu as parfaitement raison... (que de sagesse dans ta signature... ;-) )

Et... Merci pour le "cher ami"...

Très bon week-end.
--
Pierre Fauconnier () (Skype:
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




"JLuc" a écrit dans le message de news:

*Bonjour Pierre Fauconnier*,

choisi la plus mauvaise des solutions proposées
:-[ :-[ >:| :-@ >:| :-[ :-[


La moins bonne, cher ami, la moins bonne :-)

--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O





Avatar
JLuc
Très bon week-end.


Itou

--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
michdenis
'-------------------------
Function FeuilExist(Wk As Workbook, NomFeuil As String) As Boolean
Dim Sh As Object
On Error Resume Next
Set Sh = Wk.Sheets(NomFeuil)
If Err = 0 Then FeuilExist = True
End Function
'-------------------------

L'exemple précédent fonctionne :
A ) pour les noms des feuilles ayant un espace ou non dans leur nom
B ) que la feuille référencée soit graphique ou de calcul
C ) que la feuille référencée soit masquée ou nom

Son avantage :
Une seule fonction pour tester l'existence d'une feuille pour tous les
classeurs ouverts dans la même instance.

Elle peut être appelée par une ligne de commande ...:

'-------------------------

Sub test()
A )
MsgBox FeuilExist(ThisWorkbook, "graph1")

B )
MsgBox FeuilExist(ActiveWorkbook, "Feuil1")

C )
MsgBox FeuilExist(Workbooks("Classeur2.xls"), "graph1")
'Dans ce dernier cas, faut-il encore que le classeur2.xls existe
'sinon la ligne de commande renvoie une erreur de type 9
'mais ça c'est une autre histoire....

D )
Dim Wk as workbook
Set Wk = Workbooks("NomDuClasseur.xls")
MsgBox FeuilExist(Wk, "NomFeuil")

End Sub

Ceci étant, il y aura toujours les boucles....;-))

C'était seulement pour ce qu'AV appelle le smilblick.

C'est qui lui AV le smilblick ?








"Pierre Fauconnier" a écrit dans le message de news:
%
C'est vrai que les différents cas exposés ont permis de créer une fonction
qui SEMBLE renvoyer toujours le bon résultat...

Mais c'est un question de philosophie, en fait...

Personnellement, je n'aime pas tirer la conclusion suivante:
Il y a eu une erreur (parmi une multitude d'erreurs possibles que je ne
teste pas) DONC la feuille existe.
On a vu plus haut que pour pouvoir dire cela, il faut envisager tous les cas
possibles (dans le cas présent, le type de feuille, le nom avec ou sans
espaces, une feuille cachée ou non, ...) pour être certain que si erreur il
y a (err <>0), ALORS c'est que la feuille n'existe pas.

Autre question de philosophie. On peut bien sûr interdire à l'utilisateur de
nommer des onglets avec des espaces (très mauvaise habitude?) et de masquer
des feuilles. Tant qu'on y est, pour ne pas douter sur une feuille graphe ou
feuille de calcul, imposons-leur de nommer leurs graphes en commençant par
g_ et leurs feuilles de calcul avec c_ ...

:-))


--
Pierre Fauconnier () (Skype:
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


"dm" a écrit dans le message de news:
u%
La meilleure forme générique serait alors celle-ci :
;-)

'-------------------------
Sub test()
MsgBox FeuilExist(ThisWorkbook, "toto toto")
End Sub

'-------------------------
Function FeuilExist(Wk As Workbook, Nom As String) As Boolean
Dim Sh As Object
On Error Resume Next
Set Sh = Wk.Sheets(Nom)
If Err = 0 Then FeuilExist = True
End Function
'-------------------------




"Pierre Fauconnier" a écrit dans le
message de news:

Rejeté... :-)))

Si une feuille graphe porte le nom qui fait l'objet du test, err sera
différent de 0 et tu conclueras que la feuille nommée n'existe pas...alors
qu'elle existe...


--
Pierre Fauconnier () (Skype:
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



"dm" a écrit dans le message de news:

Pour une question de propreté, moi j'obterais pour :
;-))

'-------------------------
Function FeuilExist(Wk as workbook, Nom As String) As Boolean
Dim Sh As Worksheet
On Error Resume Next
Set Sh = Wk.Worksheets(Nom)
If Err = 0 Then FeuilExist = True
End Function
'-------------------------
Sub test()
MsgBox FeuilExist("toto toto")
End Sub
'-------------------------

ET POUR PLUS DE PRÉCISIONS :
'-------------------------
Sub test()
MsgBox FeuilExist(ThisWorkbook, "toto toto")
End Sub
'-------------------------
Function FeuilExist(Wk As Workbook, Nom As String) As Boolean
Dim Sh As Worksheet
On Error Resume Next
Set Sh = Wk.Worksheets(Nom)
If Err = 0 Then FeuilExist = True
End Function
'-------------------------








"lematou" a écrit dans le message de
news:

bonsoir à tous

existe t il un moyen de tester la présence d'un onglet dans un fichier .
XLS

merci beaucoup et bonne soirée

Jacks









1 2 3 4