macro pour vérification de l'existence d'un onglet

yannick63430

XLDnaute Junior
Bonjour,

je souhaite insérer dans une macro un message d'alerte afin de conditionner la suite c'est à dire que je voudrais lancer ma macro si et seulement si un onglet "xxx" n'est pas présent. J'ai écrit la macro suivante :

If Range("'BALANCE N '' '!A1") <> "N" Then
MsgBox ("ATTENTION veuillez supprimer ou renommer l'onglet BALANCE N ' ")
End
End If

dans le cas où l'onglet existe tout va bien, cependant dans le cas où il n'existe pas, la macro "plante".
Y-a-t-il une solution pour conditionner ma macro correctement en affichant obligatoirement un message?
Merci d'avance

Cordialement
 

ROGER2327

XLDnaute Barbatruc
Re : macro pour vérification de l'existence d'un onglet

Bonjour yannick63430
Peut-être quelque chose comme ceci :
Code:
[COLOR="DarkSlateGray"][B]Sub toto()
Dim tmp, tf As Boolean
   On Error GoTo E
   tmp = Range("'BALANCE N '' '!A1").Value
   On Error GoTo 0
   If tf Then
   [COLOR="SeaGreen"]'Traitement du cas où la feuille 'BALANCE N ' n'existe pas.[/COLOR]
   Else
   [COLOR="SeaGreen"]'Traitement du cas où la feuille 'BALANCE N ' existe.[/COLOR]
      If tmp <> "N" Then
         MsgBox ("ATTENTION veuillez supprimer ou renommer l'onglet BALANCE N ' ")
      End If
   End If
Exit Sub
E:
   MsgBox "La feuille 'BALANCE N ' n'existe pas."
   tf = True
   Resume Next
End Sub[/B][/COLOR]
ROGER2327
#3934


Samedi 7 Tatane 137 (Saint Biribi, taulier, SQ)
2 Thermidor An CCXVIII
2010-W29-2T10:16:51Z
 

yannick63430

XLDnaute Junior
Re : macro pour vérification de l'existence d'un onglet

Bonjour,

merci pour votre aide mais lorsque j'ai insérer votre macro au début de la mienne, elle ne veut pas lancer la suite.
en fait dans ma macro, il y a deux cas de figure :
- 1/ il n'y a pas d'onglet balance N ' => la macro doit continuer de fonctionner :
sheets("BALANCE N").Select
Sheets("BALANCE N").Copy Before:=Sheets(3)
Sheets("BALANCE N (2)").Select
Sheets("BALANCE N (2)").Name = "BALANCE N ' "
...

- 2/ il existe déjà l'onglet balance N ' => mettre un message d'erreur pour indiquer qu'il faut le supprimer.

Cependant lorsque j'insère votre macro et la lance en totalité (avec la mienne) dans le premier cas, j'ai le message suivant : la balance N ' n'existe pas!!

Merci d'avance.

Cordialement
 

ROGER2327

XLDnaute Barbatruc
Re : macro pour vérification de l'existence d'un onglet

Re...
Faute d'avoir votre classeur à disposition, je ne peux pas tester la procédure. Toutefois, je m'aperçois que la ligne
Code:
[COLOR="DarkSlateGray"][B]   tmp = Range("'BALANCE N '' '!A1").Value[/B][/COLOR]
est fautive et doit probablement s'écrire
Code:
[COLOR="DarkSlateGray"][B]   tmp = Sheets("BALANCE N '").Range("A1").Value[/B][/COLOR]

Mais BALANCE N ' n'est pas un nom valide pour une feuille, le caractère ' étant interdit dans un nom de feuille.

L'idéal serait que vous missiez un classeur de travail avec les noms de feuille que vous utilisez réellement sur le forum. À vous de décider...​
ROGER2327
#3935


Samedi 7 Tatane 137 (Saint Biribi, taulier, SQ)
2 Thermidor An CCXVIII
2010-W29-2T13:15:00Z
 
Dernière édition:

yannick63430

XLDnaute Junior
Re : macro pour vérification de l'existence d'un onglet

Ok,

je vous fait suivre une ébauche de mon fichier excel, en espérant que cela convienne.
je me tiens à disposition pour tout complément d'informations.
merci

Cordialement

PS l'extension est du xlsm
 

Pièces jointes

  • test.zip
    22.6 KB · Affichages: 36
  • test.zip
    22.6 KB · Affichages: 37
  • test.zip
    22.6 KB · Affichages: 39

ROGER2327

XLDnaute Barbatruc
Re : macro pour vérification de l'existence d'un onglet

Re...
(...)
PS l'extension est du xlsm
C'est parfaitement normal sur ce forum réservé à Excel2007.
Faute de disposer cet outil moderne, je me retire de la discussion. Mais les spécialistes d'Excel2007 vont prendre le relais...​
Bonne continuation,
ROGER2327
#3938


Samedi 7 Tatane 137 (Saint Biribi, taulier, SQ)
2 Thermidor An CCXVIII
2010-W29-2T21:20:08Z
 

Discussions similaires

Réponses
7
Affichages
485