XL 2010 tester l'existence d'une feuille en vue de la supprimer

philmaure

XLDnaute Impliqué
Bonjour,

est il possible de tester si une feuille existe pour la supprimer ou si elle n'existe pas il faut alors poursuivre la macro sans message d'erreur excel ?

Merci pour votre aide

Cdlt
Philmaure
 

Pièces jointes

  • Classeur1.xlsx
    8.3 KB · Affichages: 54

Paf

XLDnaute Barbatruc
Bonjour philmaure,

A quoi peut bien nous servir ce joli classeur vide !!

Une solution possible, à insérer quelque part dans votre macro.

VB:
If IsError(Evaluate("='" & nomFeuille & "'!A1"))  Then  'renvoie vrai si n'existe pas

A+
 

Paf

XLDnaute Barbatruc
re,

ne connaissant pas la macro, je ne peux qu'apporter ces précisions :
Code:
nomFeuille ="Feuil3"
If IsError(Evaluate("='" & nomFeuille & "'!A1"))  Then  'renvoie vrai si n'existe pas
       code si feuille n'existe pas
else
       code si feuille existe
end if

ou

Code:
If IsError(Evaluate("=Feuil3!A1"))  Then  'renvoie vrai si n'existe pas
       code si feuille n'existe pas
else
       code si feuille existe
end if

ou

Code:
If Not IsError(Evaluate("=Feuil3!A1"))  Then  
       code si feuille existe
else
       code si feuille n'existe pas
end if

A+
 

philmaure

XLDnaute Impliqué
re bonjour,

je relance la demande car je ne parviens pas à mes fins. Je dois sans doute oublier quelque chose
Le but est de tester si l'onglet Paris existe :
- s'il existe je le renomme en PARIS2

- s'il n'existe pas je continue la macro (dans mon vrai fichier il y une suite à la macro)

Merci pour aide
Cdlt
Philippe
 

Pièces jointes

  • test.xls
    37 KB · Affichages: 51

Paf

XLDnaute Barbatruc
re et bonjour job75


Code:
nomFeuille = "PARIS"
If Not IsError(Evaluate("='" & nomFeuille & "'!A1")) Then Sheets("PARIS").Name = "PARIS2"

à encadrer des instructions :
Application.DisplayAlerts = False et Application.DisplayAlerts = True
s'il y avait un message système .

A+
 

job75

XLDnaute Barbatruc
Re,

Faudrait savoir ce que vous voulez philmaure !!!

Et ça sert à quoi de vous aider si vous ne faites aucun effort pour comprendre un code hyper-simple ?
Code:
On Error Resume Next
Sheets("PARIS").Name = "PARIS2"
If Err = 0 Then Exit Sub 'si nécessaire
On Error GoTo 0
'---suite du code---
A+
 

Discussions similaires

Réponses
26
Affichages
789