Bonjour,
J'aimerai faire un test qui consiste à dire si telle feuille existe alors je ne crée pas la feuille.
Ou le contraire si tel feuille n'existe pas je crée la feuille ...
Cordialement
Benjamin
Bonjour,
J'aimerai faire un test qui consiste à dire si telle feuille existe alors je ne crée pas la feuille.
Ou le contraire si tel feuille n'existe pas je crée la feuille ...
Cordialement
Benjamin
Salut Benjycool,
strNomFeuille est le nom de la feuille à tester.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Function FeuilleExiste(ByVal strNomFeuille as String) as Boolean FeuilleExiste = False For each objFeuille in ThisWorkbook.Sheets If objFeuille.Name=strNomFeuille then FeuilleExiste = True Exit For End if Next End Function
Tu peux donc créer la feuille ou pas, en fonction du résultat de la fonction FeuilleExiste. Exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Sub CréerFeuille() NomFeuille = "InspecteurDerrick" 'Ben oui, pourquoi pas ? If FeuilleExiste(NomFeuille) = False Then Set NewSheet = ThisWorkbook.Sheets.Add NewSheet.Name = NomFeuille Set NewSheet = Nothing End If End Sub
non ?
bonjour Benjycool,
on peut aussi passer par macro!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Sub es() Dim Ws As Worksheet For Each Ws In Worksheets If Ws.Name = "TOTO" Then MsgBox "Ce nom de feuille existe déjà !": Exit Sub Next Ws Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "TOTO" End Sub
Ok merci c'est gentil, mais existe t-il pas une syntaxe du genre :
Si tel feuille existe alors rien sinon oon on crée, mais sans faire de boucle ?
Benjamin
Pourquoi ne pas faire de boucle, j'ai parfois du mal à comprendre pourquoi certaines personnes developpent en se mettant des restrictions techniques.
Avec quelques feuilles ça ne prend pas beaucoup de temps, quoiqu'il en soit il existe une autre solution en passant par la gestion d'erreur.
re, comme le dit l'ami ALEX pourquoi une boucle pose pb..
On Error GoTo 0 pas forcement utile ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Sub es() Dim Ws As Worksheet On Error Resume Next Set Ws = ThisWorkbook.Worksheets("TOTO") On Error GoTo 0 If Ws Is Nothing Then Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "TOTO" End Sub
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager