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

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

10 réponses

1 2 3 4
Avatar
JLuc
*Bonjour lematou*,
Oui, ainsi :

For Each feuille In Worsheets
If feuille.Name = "Feuil1" Then
Msgbox "La feuille existe"
End If
Next
Si tu n'a pas le méssage, c'est qu'elle n'éxiste pas ! ;-)

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


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

O-O

Avatar
Jacky
Bonsoir,
Ceci:
'--------
Sub jj()
onglet = InputBox("Entrez le nom de la feuille recherché", "Recherche de
feuille")
If onglet = "" Then Exit Sub
For i = 1 To Worksheets.Count
If UCase(Sheets(i).Name) = UCase(onglet) Then nom = Sheets(i).Name: Exit
For
Next
If nom <> "" Then
MsgBox "L'onglet " & nom & " est présent dans ce classeur"
Else
MsgBox "Pas d'onglet " & onglet & " dans ce classeur"
End If
End Sub
'---------
ou encore :
Clique droit sur les flèches des onglets , en bas à gauche donne le nom de
tous les onglets présents dans le classeur.

Salutations
JJ

"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


Avatar
lematou
Merci pour ton attention
mais comme je suis novice en vba j'ai peut être fait une mauvaise
interpretation
j'ai glissé ton code dans ma macro
et jai le message suivant:
erreur d'exécution "13"
une incompatibilité de type
en fait je voudrais en ouvant mon fichier vérifier que l'onglet "200609" est
présent
si non le créer avec ce nom

merci encore pour ton aide
ps le code est il a insérer dans la macro ou faut il créer une autre macro a
coté ?

Jacks dit le matou

"JLuc" wrote:

*Bonjour lematou*,
Oui, ainsi :

For Each feuille In Worsheets
If feuille.Name = "Feuil1" Then
Msgbox "La feuille existe"
End If
Next
Si tu n'a pas le méssage, c'est qu'elle n'éxiste pas ! ;-)

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


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

O-O






Avatar
lematou
re bonjour
c'est dans
For Each feuille In Worsheets
que je coince
merci encore
cordialement
Jacks

"JLuc" wrote:

*Bonjour lematou*,
Oui, ainsi :

For Each feuille In Worsheets
If feuille.Name = "Feuil1" Then
Msgbox "La feuille existe"
End If
Next
Si tu n'a pas le méssage, c'est qu'elle n'éxiste pas ! ;-)

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


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

O-O






Avatar
lematou
bonjour et merci pour ton attention

je ne sais pas pourquoi je bloque sur
If UCase(Sheets(i).Name) = UCase(onglet) Then nom = Sheets(i).Name: Exit
For
y a t il des choses à remplacer ?

du style "sheet" par un nom d'onglet ???

je sais que pour le moment je commence à faire de belles choses en VBA
(grace à votre aide) mais parfois c'est un peu harde

merci pour votre aide tres précieuse

pour info je voudrais faire une macro pour aider mon fils à faire son
suivit médical suite à transplantation
jour par jour c'est ok cela fonctionne
il me reste à générer les onglets tous les débuts de mois. c'est pourquoi je
veux tester la présence des onglets

cordialement
Jacks dit le matou

"Jacky" wrote:

Bonsoir,
Ceci:
'--------
Sub jj()
onglet = InputBox("Entrez le nom de la feuille recherché", "Recherche de
feuille")
If onglet = "" Then Exit Sub
For i = 1 To Worksheets.Count
If UCase(Sheets(i).Name) = UCase(onglet) Then nom = Sheets(i).Name: Exit
For
Next
If nom <> "" Then
MsgBox "L'onglet " & nom & " est présent dans ce classeur"
Else
MsgBox "Pas d'onglet " & onglet & " dans ce classeur"
End If
End Sub
'---------
ou encore :
Clique droit sur les flèches des onglets , en bas à gauche donne le nom de
tous les onglets présents dans le classeur.

Salutations
JJ

"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







Avatar
Pierre Fauconnier
Bonjour

Personnellement, je préfère utiliser une fonction qui teste l'existence,
plutôt que tester l'existence au sein du code comme le proposent mes petits
camarades... Cela est plus propre, facilite le débogage et la maintenance,
et cette fonction est exportable facilement.

Copie le code ci-dessous dans un module standard

Function FeuilleExiste(NomFeuille As String) As Boolean
Dim Feuille As Worksheet

For Each Feuille In Worksheets
If UCase(Feuille.Name) = UCase(NomFeuille) Then
FeuilleExiste = True
Set Feuille = Nothing
Exit Function
End If
Next Feuille
Set Feuille = Nothing
End Function

Puis utilise-le dans ton code

Sub AjoutFeuille()
Dim Feuille As Worksheet

If Not FeuilleExiste("NouvelleFeuille") Then
Set Feuille = Worksheets.Add()
Feuille.Name = "NouvelleFeuille"
End If
End Sub

Ok?


--
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



"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


Avatar
Jacky
Re...
y a t il des choses à remplacer ?
Non, mais mettre le tout sur une ligne de:

"If ........à.....:exit for"
C'est dû aux coupures de lignes de l'éditeur de News

veux tester la présence des onglets
Peut-être que , selon la gestion des mois, on peut rendre automatique le

contrôle de la présence des onglets et éviter le "inputBox"
Mais pour cela il faudra plus de précision.
A toi de voir...
--
Salutations
JJ

"lematou" a écrit dans le message de
news:
bonjour et merci pour ton attention

je ne sais pas pourquoi je bloque sur
If UCase(Sheets(i).Name) = UCase(onglet) Then nom = Sheets(i).Name: Exit
For
y a t il des choses à remplacer ?

du style "sheet" par un nom d'onglet ???

je sais que pour le moment je commence à faire de belles choses en VBA
(grace à votre aide) mais parfois c'est un peu harde

merci pour votre aide tres précieuse

pour info je voudrais faire une macro pour aider mon fils à faire son
suivit médical suite à transplantation
jour par jour c'est ok cela fonctionne
il me reste à générer les onglets tous les débuts de mois. c'est pourquoi
je
veux tester la présence des onglets

cordialement
Jacks dit le matou

"Jacky" wrote:

Bonsoir,
Ceci:
'--------
Sub jj()
onglet = InputBox("Entrez le nom de la feuille recherché", "Recherche de
feuille")
If onglet = "" Then Exit Sub
For i = 1 To Worksheets.Count
If UCase(Sheets(i).Name) = UCase(onglet) Then nom = Sheets(i).Name: Exit
For
Next
If nom <> "" Then
MsgBox "L'onglet " & nom & " est présent dans ce classeur"
Else
MsgBox "Pas d'onglet " & onglet & " dans ce classeur"
End If
End Sub
'---------
ou encore :
Clique droit sur les flèches des onglets , en bas à gauche donne le nom
de
tous les onglets présents dans le classeur.

Salutations
JJ

"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









Avatar
JLuc
lematou avait soumis l'idée :
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


Et çà, sans fonction :

Err = 0 'Pour le cas où il y a eu une erreur avant
On Error Resume Next
Sheet("Feuil1").Select
If Err > 0 Then
Msgbox "La feuille n'existe pas
Else
Msgbox "Déjà présente..."
End If

--
JLuc

Avatar
Pierre Fauconnier
Salut Jean-Luc...

Tu vas peut-être me trouver chiant, mais tant pis...

Le problème de ta solution, c'est que :
1) Elle sélectionne la feuille Feuil1 pour tester son existence, ce qui
n'est pas très pratique, et peut amener à des confusions dans un code
utilisant des objets de la feuille active.
2) Il n'y a pas que l'inexistence de la feuille qui peut produire une erreur
en cas de .Select. .Select produira également une erreur si la feuille est
masquée, par exemple...

Crois-moi, l'utilisation d'une fonction, comme dans ma réponse au courrier
initial, est la plus simple et la plus sûre des manières de tester une
feuille dans le cadre d'une programmation propre...

Cet avis n'engage que moi, évidemment!

Bonne programmation


--
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:

lematou avait soumis l'idée :
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


Et çà, sans fonction :

Err = 0 'Pour le cas où il y a eu une erreur avant
On Error Resume Next
Sheet("Feuil1").Select
If Err > 0 Then
Msgbox "La feuille n'existe pas
Else
Msgbox "Déjà présente..."
End If

--
JLuc





Avatar
Jacky
Bonsoir JLuc
Avec un "s" à sheetS( ....), alors;-((
,,
La même en plus court ;-))

Err = 0
On Error Resume Next
x = "Déjà présente..."
Sheets("Feuil1").Select
If Err > 0 Then x = "La feuille n'existe pas"
MsgBox x

--
Salutations
JJ

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

lematou avait soumis l'idée :
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


Et çà, sans fonction :

Err = 0 'Pour le cas où il y a eu une erreur avant
On Error Resume Next
Sheet("Feuil1").Select
If Err > 0 Then
Msgbox "La feuille n'existe pas
Else
Msgbox "Déjà présente..."
End If

--
JLuc





1 2 3 4