S'assurer de l'inexistence d'un onglet dans Excel
Résolu
dodorando
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
dodorando Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
dodorando Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je vous écris, car je suis en face d'un petit problème qui m'empêche de continuer mon code.
En fait, sur une page accueil, j'ai créé une liste déroulante avec plusieurs possibilités :
La cellule liée est : $A$1
Ma liste déroulante est : $A$2:$A$6
Dans mon code VBA, je souhaite créer une feuille à chaque changement de numéro de ma céllule liée. J'écris donc :
If Cells(1, 1) = 2 Then Sheets.Add.Name = "Liste course"
Cependant, si cette feuille "Liste course" existe déjà, je souhaiterais avoir une MsgBox.
Si celle-ci n'existe pas, je souhaiterais la créer.
Enfin, je souhaiterais faire de même avec le reste de ma liste :
If Cells(1, 1) = 3 Then Sheets.Add.Name = "Liste course détaillée"
If Cells(1, 1) = 4 Then Sheets.Add.Name = "Liste complète"
If Cells(1, 1) = 5 Then Sheets.Add.Name = "Liste complète détaillée"
Et de même, si ces feuilles existent, je souhaite voir apparaître une MsgBox...
Malheureusement, je n'arrive pas à arrêter ma macro à la MsgBox, ma macro continue et bugge...
Si quelqu'un peut m'aider, ça me tirerait une belle épine du pied !
D'avance merci pour votre aide,
Dodo.
Je vous écris, car je suis en face d'un petit problème qui m'empêche de continuer mon code.
En fait, sur une page accueil, j'ai créé une liste déroulante avec plusieurs possibilités :
La cellule liée est : $A$1
Ma liste déroulante est : $A$2:$A$6
Dans mon code VBA, je souhaite créer une feuille à chaque changement de numéro de ma céllule liée. J'écris donc :
If Cells(1, 1) = 2 Then Sheets.Add.Name = "Liste course"
Cependant, si cette feuille "Liste course" existe déjà, je souhaiterais avoir une MsgBox.
Si celle-ci n'existe pas, je souhaiterais la créer.
Enfin, je souhaiterais faire de même avec le reste de ma liste :
If Cells(1, 1) = 3 Then Sheets.Add.Name = "Liste course détaillée"
If Cells(1, 1) = 4 Then Sheets.Add.Name = "Liste complète"
If Cells(1, 1) = 5 Then Sheets.Add.Name = "Liste complète détaillée"
Et de même, si ces feuilles existent, je souhaite voir apparaître une MsgBox...
Malheureusement, je n'arrive pas à arrêter ma macro à la MsgBox, ma macro continue et bugge...
Si quelqu'un peut m'aider, ça me tirerait une belle épine du pied !
D'avance merci pour votre aide,
Dodo.
A voir également:
- S'assurer de l'inexistence d'un onglet dans Excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Trier un tableau excel - Guide
- Rouvrir un onglet fermé - Guide
- Déplacer colonne excel - Guide
1 réponse
Bonjour,
Par exemple :
Cordialement
Patrice
Par exemple :
Option Explicit Sub test() If Cells(1, 1) = 2 Then AjouteFeuille "Liste course" If Cells(1, 1) = 3 Then AjouteFeuille "Liste course détaillée" If Cells(1, 1) = 4 Then AjouteFeuille "Liste complète" If Cells(1, 1) = 5 Then AjouteFeuille "Liste complète détaillée" End Sub Private Sub AjouteFeuille(nom As String) Dim sh As Worksheet On Error Resume Next Set sh = Worksheets(nom) On Error GoTo 0 If sh Is Nothing Then Sheets.Add.Name = nom Else MsgBox "La feuille « " & nom & " » existe déjà." End If End Sub
Cordialement
Patrice
Ta solution fonctionne parfaitement !
Merci d'avoir pris le temps, tu m'as bien aidé !
Bon week-end.
Dodo.