S'assurer de l'inexistence d'un onglet dans Excel
Résolu
dodorando
Messages postés
8
Statut
Membre
-
dodorando Messages postés 8 Statut Membre -
dodorando Messages postés 8 Statut Membre -
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.
1 réponse
-
Bonjour,
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