Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
denis le breton
dans la procédure ... ' activation du fichier et test de l'existence de la feuille Workbooks(fic).Activate Dim WS As Worksheet On Error Resume Next Set WS = Workbooks(nomdemon fichier).Worksheets(nomdemafeuille) ... suite de la procédure ... Next
en espérant avoir répondu à ton attente A+ Denis PS le soleil se maintient
Bonjour a tous,
comment fait-on pour tester l'existence d'une feuille sosu VBA?
merci d'avance.
Serge
dans la procédure
...
' activation du fichier et test de l'existence de la feuille
Workbooks(fic).Activate
Dim WS As Worksheet
On Error Resume Next
Set WS = Workbooks(nomdemon fichier).Worksheets(nomdemafeuille)
...
suite de la procédure
...
Next
en espérant avoir répondu à ton attente
A+
Denis
PS le soleil se maintient
Bonjour a tous,
comment fait-on pour tester l'existence d'une feuille sosu VBA?
dans la procédure ... ' activation du fichier et test de l'existence de la feuille Workbooks(fic).Activate Dim WS As Worksheet On Error Resume Next Set WS = Workbooks(nomdemon fichier).Worksheets(nomdemafeuille) ... suite de la procédure ... Next
en espérant avoir répondu à ton attente A+ Denis PS le soleil se maintient
Bonjour a tous,
comment fait-on pour tester l'existence d'une feuille sosu VBA?
merci d'avance.
Serge
anomymousA
bonjour,
pour compléter la réponse de denis, un petit peu d'explication. Qaund Denis écrit "on error resume next", ceci va permettre au programme de continuer à se dérouler même en cas d'erreur et ce en ne tenant pas compte de la ligne qui a généré celle-ci. En effet, dans le programme qui t' a été transmis, quand on écrit Set WS = Workbooks(nomdemon fichier).Worksheets(nomdemafeuille) et que la feuille nomdemafeuille n'existe pas, il se produit une erreur. Grace à on error resume next, le programme va continuer quand même, il te faut donc gérer le on error en écrivant une remise à zéro de l'objet err.
Le + souvent utilisé est d'écrire une fonction booleenne p.e nommée Existsheet qui retournera true si la feuille existe dans le workbook spécifié. Tu feras alors le test de la valeur booleenne de la fonction appelée pour décider ce que tu fais. Exemple suivant:
Sub essai()
'essai par exemple sur une feuille appelée rencontre dans le classeur actif
If existsheet(ActiveWorkbook, "rencontre") Then MsgBox "existe" Else MsgBox "n'existe pas" End If
End Sub
Function existsheet(wb As Workbook, ws As String) As Boolean
On Error Resume Next Set wse = wb.Sheets(ws)
If Err.Number <> 0 Then Err.Clear Exit Function End If
existsheet = True
End Function
l'interet majeur de l'utilisation d'une fonction à cet effet, c'est que d'une part tu peux la réutiliser à loisir dans n'importe quelle module ou l'ensemble du classeur en la déclarant Public et d'autre part la gestion particulière des erreurs que tu peux avoir déclaré dans ta procédure appelante reste valide bien que dans la fonction on ait déclaré un on error resume next qui serait donc une autre manière de gérer l'erreur.
A+
Bonjour a tous,
comment fait-on pour tester l'existence d'une feuille sosu VBA?
merci d'avance.
Serge
bonjour,
pour compléter la réponse de denis, un petit peu d'explication. Qaund Denis
écrit "on error resume next", ceci va permettre au programme de continuer à
se dérouler même en cas d'erreur et ce en ne tenant pas compte de la ligne
qui a généré celle-ci.
En effet, dans le programme qui t' a été transmis, quand on écrit Set WS =
Workbooks(nomdemon fichier).Worksheets(nomdemafeuille) et que la feuille
nomdemafeuille n'existe pas, il se produit une erreur.
Grace à on error resume next, le programme va continuer quand même, il te
faut donc gérer le on error en écrivant une remise à zéro de l'objet err.
Le + souvent utilisé est d'écrire une fonction booleenne p.e nommée
Existsheet qui retournera true si la feuille existe dans le workbook
spécifié. Tu feras alors le test de la valeur booleenne de la fonction
appelée pour décider ce que tu fais.
Exemple suivant:
Sub essai()
'essai par exemple sur une feuille appelée rencontre dans le classeur actif
If existsheet(ActiveWorkbook, "rencontre") Then
MsgBox "existe"
Else
MsgBox "n'existe pas"
End If
End Sub
Function existsheet(wb As Workbook, ws As String) As Boolean
On Error Resume Next
Set wse = wb.Sheets(ws)
If Err.Number <> 0 Then
Err.Clear
Exit Function
End If
existsheet = True
End Function
l'interet majeur de l'utilisation d'une fonction à cet effet, c'est que
d'une part tu peux la réutiliser à loisir dans n'importe quelle module ou
l'ensemble du classeur en la déclarant Public et d'autre part la gestion
particulière des erreurs que tu peux avoir déclaré dans ta procédure
appelante reste valide bien que dans la fonction on ait déclaré un on error
resume next qui serait donc une autre manière de gérer l'erreur.
A+
Bonjour a tous,
comment fait-on pour tester l'existence d'une feuille sosu VBA?
pour compléter la réponse de denis, un petit peu d'explication. Qaund Denis écrit "on error resume next", ceci va permettre au programme de continuer à se dérouler même en cas d'erreur et ce en ne tenant pas compte de la ligne qui a généré celle-ci. En effet, dans le programme qui t' a été transmis, quand on écrit Set WS = Workbooks(nomdemon fichier).Worksheets(nomdemafeuille) et que la feuille nomdemafeuille n'existe pas, il se produit une erreur. Grace à on error resume next, le programme va continuer quand même, il te faut donc gérer le on error en écrivant une remise à zéro de l'objet err.
Le + souvent utilisé est d'écrire une fonction booleenne p.e nommée Existsheet qui retournera true si la feuille existe dans le workbook spécifié. Tu feras alors le test de la valeur booleenne de la fonction appelée pour décider ce que tu fais. Exemple suivant:
Sub essai()
'essai par exemple sur une feuille appelée rencontre dans le classeur actif
If existsheet(ActiveWorkbook, "rencontre") Then MsgBox "existe" Else MsgBox "n'existe pas" End If
End Sub
Function existsheet(wb As Workbook, ws As String) As Boolean
On Error Resume Next Set wse = wb.Sheets(ws)
If Err.Number <> 0 Then Err.Clear Exit Function End If
existsheet = True
End Function
l'interet majeur de l'utilisation d'une fonction à cet effet, c'est que d'une part tu peux la réutiliser à loisir dans n'importe quelle module ou l'ensemble du classeur en la déclarant Public et d'autre part la gestion particulière des erreurs que tu peux avoir déclaré dans ta procédure appelante reste valide bien que dans la fonction on ait déclaré un on error resume next qui serait donc une autre manière de gérer l'erreur.
A+
Bonjour a tous,
comment fait-on pour tester l'existence d'une feuille sosu VBA?
merci d'avance.
Serge
denis le breton
Merci aA de cette précision qui m'en apprend encore plus Cordialement Denis
bonjour,
pour compléter la réponse de denis, un petit peu d'explication. Qaund Denis écrit "on error resume next", ceci va permettre au programme de continuer à se dérouler même en cas d'erreur et ce en ne tenant pas compte de la ligne qui a généré celle-ci. En effet, dans le programme qui t' a été transmis, quand on écrit Set WS = Workbooks(nomdemon fichier).Worksheets(nomdemafeuille) et que la feuille nomdemafeuille n'existe pas, il se produit une erreur. Grace à on error resume next, le programme va continuer quand même, il te faut donc gérer le on error en écrivant une remise à zéro de l'objet err.
Le + souvent utilisé est d'écrire une fonction booleenne p.e nommée Existsheet qui retournera true si la feuille existe dans le workbook spécifié. Tu feras alors le test de la valeur booleenne de la fonction appelée pour décider ce que tu fais. Exemple suivant:
Sub essai()
'essai par exemple sur une feuille appelée rencontre dans le classeur actif
If existsheet(ActiveWorkbook, "rencontre") Then MsgBox "existe" Else MsgBox "n'existe pas" End If
End Sub
Function existsheet(wb As Workbook, ws As String) As Boolean
On Error Resume Next Set wse = wb.Sheets(ws)
If Err.Number <> 0 Then Err.Clear Exit Function End If
existsheet = True
End Function
l'interet majeur de l'utilisation d'une fonction à cet effet, c'est que d'une part tu peux la réutiliser à loisir dans n'importe quelle module ou l'ensemble du classeur en la déclarant Public et d'autre part la gestion particulière des erreurs que tu peux avoir déclaré dans ta procédure appelante reste valide bien que dans la fonction on ait déclaré un on error resume next qui serait donc une autre manière de gérer l'erreur.
A+
Bonjour a tous,
comment fait-on pour tester l'existence d'une feuille sosu VBA?
merci d'avance.
Serge
Merci aA de cette précision qui m'en apprend encore plus
Cordialement
Denis
bonjour,
pour compléter la réponse de denis, un petit peu d'explication. Qaund Denis
écrit "on error resume next", ceci va permettre au programme de continuer à
se dérouler même en cas d'erreur et ce en ne tenant pas compte de la ligne
qui a généré celle-ci.
En effet, dans le programme qui t' a été transmis, quand on écrit Set WS =
Workbooks(nomdemon fichier).Worksheets(nomdemafeuille) et que la feuille
nomdemafeuille n'existe pas, il se produit une erreur.
Grace à on error resume next, le programme va continuer quand même, il te
faut donc gérer le on error en écrivant une remise à zéro de l'objet err.
Le + souvent utilisé est d'écrire une fonction booleenne p.e nommée
Existsheet qui retournera true si la feuille existe dans le workbook
spécifié. Tu feras alors le test de la valeur booleenne de la fonction
appelée pour décider ce que tu fais.
Exemple suivant:
Sub essai()
'essai par exemple sur une feuille appelée rencontre dans le classeur actif
If existsheet(ActiveWorkbook, "rencontre") Then
MsgBox "existe"
Else
MsgBox "n'existe pas"
End If
End Sub
Function existsheet(wb As Workbook, ws As String) As Boolean
On Error Resume Next
Set wse = wb.Sheets(ws)
If Err.Number <> 0 Then
Err.Clear
Exit Function
End If
existsheet = True
End Function
l'interet majeur de l'utilisation d'une fonction à cet effet, c'est que
d'une part tu peux la réutiliser à loisir dans n'importe quelle module ou
l'ensemble du classeur en la déclarant Public et d'autre part la gestion
particulière des erreurs que tu peux avoir déclaré dans ta procédure
appelante reste valide bien que dans la fonction on ait déclaré un on error
resume next qui serait donc une autre manière de gérer l'erreur.
A+
Bonjour a tous,
comment fait-on pour tester l'existence d'une feuille sosu VBA?
Merci aA de cette précision qui m'en apprend encore plus Cordialement Denis
bonjour,
pour compléter la réponse de denis, un petit peu d'explication. Qaund Denis écrit "on error resume next", ceci va permettre au programme de continuer à se dérouler même en cas d'erreur et ce en ne tenant pas compte de la ligne qui a généré celle-ci. En effet, dans le programme qui t' a été transmis, quand on écrit Set WS = Workbooks(nomdemon fichier).Worksheets(nomdemafeuille) et que la feuille nomdemafeuille n'existe pas, il se produit une erreur. Grace à on error resume next, le programme va continuer quand même, il te faut donc gérer le on error en écrivant une remise à zéro de l'objet err.
Le + souvent utilisé est d'écrire une fonction booleenne p.e nommée Existsheet qui retournera true si la feuille existe dans le workbook spécifié. Tu feras alors le test de la valeur booleenne de la fonction appelée pour décider ce que tu fais. Exemple suivant:
Sub essai()
'essai par exemple sur une feuille appelée rencontre dans le classeur actif
If existsheet(ActiveWorkbook, "rencontre") Then MsgBox "existe" Else MsgBox "n'existe pas" End If
End Sub
Function existsheet(wb As Workbook, ws As String) As Boolean
On Error Resume Next Set wse = wb.Sheets(ws)
If Err.Number <> 0 Then Err.Clear Exit Function End If
existsheet = True
End Function
l'interet majeur de l'utilisation d'une fonction à cet effet, c'est que d'une part tu peux la réutiliser à loisir dans n'importe quelle module ou l'ensemble du classeur en la déclarant Public et d'autre part la gestion particulière des erreurs que tu peux avoir déclaré dans ta procédure appelante reste valide bien que dans la fonction on ait déclaré un on error resume next qui serait donc une autre manière de gérer l'erreur.
A+
Bonjour a tous,
comment fait-on pour tester l'existence d'une feuille sosu VBA?
merci d'avance.
Serge
Aurélien29
Salut, autre solution sans générer d'erreur: sub test(nom_page)
for page to sheets.count if sheets(page).name=nom_page then msgbox("la feuille existe") end if next page
Bonjour a tous,
comment fait-on pour tester l'existence d'une feuille sosu VBA?
merci d'avance.
Serge
Salut,
autre solution sans générer d'erreur:
sub test(nom_page)
for page to sheets.count
if sheets(page).name=nom_page then
msgbox("la feuille existe")
end if
next page
Bonjour a tous,
comment fait-on pour tester l'existence d'une feuille sosu VBA?