Sub TestFeuilleExiste()
Dim nomfeuille As String
nomfeuille = "Feuil1"
If Not FeuilleExiste(nomfeuille) Is Nothing Then MsgBox "OK"
End Sub
Function FeuilleExiste(f As String) As Worksheet
On Error Resume Next
Set FeuilleExiste = Worksheets(f)
End Function
[COLOR=blue]Sub[/COLOR] Nadir()
[COLOR=blue]Dim[/COLOR] F [COLOR=blue]As[/COLOR] Worksheet
[COLOR=blue]For Each[/COLOR] F [COLOR=blue]In[/COLOR] ActiveWorkbook.Worksheets
[COLOR=blue]If[/COLOR] F.Name = "Base" [COLOR=blue]Then[/COLOR]
[COLOR=green]'La Macro[/COLOR]
[COLOR=blue]End If[/COLOR]
[COLOR=blue]Next[/COLOR] F
[COLOR=blue]End Sub[/COLOR]
Sub test()
For i = 1 To Sheets.Count
If Sheets(i).Name <> "Base" Then
If i <> Sheets.Count Then
GoTo suite
Else
MsgBox "La feuille ''Base'' n'existe pas"
End If
Else
MsgBox "la feuille ''Base'' est la feuille n°" & i
Exit For
End If
suite:
Next i
End Sub
[B][COLOR="DarkSlateGray"]Sub toto()
Dim tmp&, msg$
On Error GoTo E
tmp = Sheets("BASE").Index
msg = "La feuille BASE est la feuille n° " & tmp & " de ce classeur."
R:
On Error GoTo 0
MsgBox msg
Exit Sub
E:
msg = "La feuille BASE n'existe pas dans ce classeur."
Resume R
End Sub[/COLOR][/B]
[B][COLOR="DarkSlateGray"]Sub tata()
Dim tmp, msg$
On Error Resume Next
tmp = Sheets("BASE").Index
On Error GoTo 0
If IsEmpty(tmp) Then
msg = "La feuille BASE n'existe pas dans ce classeur."
Else
msg = "La feuille BASE est la feuille n° " & tmp & " de ce classeur."
End If
MsgBox msg
End Sub[/COLOR][/B]
Sub test()
On Error GoTo message
Sheets("Base").Activate
MsgBox "Voici la feuille BASE!"
Exit Sub
message:
MsgBox "La feuille BASE n'existe pas"
End Sub
Sub ToBeOrNotToBe()
Dim Est$
Est = "n'existe pas "
On Error GoTo Info
With Sheets("BASE"): Est = "existe ": End With
Info:
MsgBox "La feuille BASE " & Est & " dans ce classeur !", vbExclamation, ""
End Sub
Sub test()
Dim liste As String
For i = 1 To Sheets.Count
liste = liste & vbCr & Sheets(i).Name
Next i
MsgBox liste
End Sub
Private Sub CommandButton1_Click() ' Ou un autre truc
For Each FEUILLE In ThisWorkbook.Worksheets
If FEUILLE.Name = "Feuil3" Then
FEUILLE.Select ' Ou en faire ce que tu veux! Genre sa Celles(x,y) = Bidule
End If
Next
End Sub
Sub cherche()
MsgBox FeuilleExiste("Base")
End Sub
Function FeuilleExiste(Feuille As String) As Boolean
On Error Resume Next
FeuilleExiste = CBool(Len(Sheets(Feuille).Name))
Err.Clear
End Function
Dim x As Worksheet
On Error Resume Next
Set x = Worksheets("BASE")
If Err <> 0 Then MsgBox "pas ok" Else MsgBox " ok"
On Error GoTo 0
Sub Creation_Onglets_Selon_Modele()
Dim c As Range
Application.ScreenUpdating = False
'On crée les onglets qui sont listés à partir de la cellule A12 de l'onglet nommé Liste
Set c = Worksheets("Liste").Range("A12") 'cellule de départ
Do Until IsEmpty(c) 'boucle tant que c est vide
'on copie le modèle en dernier
Worksheets("Modèle").Copy After:=Worksheets(ThisWorkbook.Sheets.Count)
With Worksheets(ThisWorkbook.Sheets.Count) 'avec l'onglet créé
.Name = c.Value 'on renomme
'on remplit notre modèle comme on veut...
.Range("B7") = c.Value 'on met dans la cellule B7 le matricule du salarié
End With
Set c = c.Offset(1, 0) 'prochaine ligne
Loop
Application.ScreenUpdating = True
End Sub
Sub Creation_Onglets_Selon_Modele()
Dim c As Range
Application.ScreenUpdating = False
'S'ils n'existent pas, on crée les onglets qui sont listés
'à partir de la cellule A12 de l'onglet nommé Liste
Set c = Worksheets("Liste").Range("A12") 'cellule de départ
Do Until IsEmpty(c) 'boucle tant que c n'est pas vide
'Si l'onglet (c.Value) n'existe pas, on copie le modèle en dernier
On Error Resume Next: Worksheets(c.Value).Activate
If Err.Number Then Worksheets("Modèle").Copy After:=Worksheets(ThisWorkbook.Sheets.Count): ActiveSheet.Name = c.Value
With ActiveSheet 'avec l'onglet créé ou l'onglet déjà existant
If .Name = c.Value Then
'on remplit notre modèle comme on veut...
.Range("B7") = c.Value 'on met dans la cellule B7 le matricule du salarié
Else
' c.Value n'est pas un nom d'onglet correct : suppression de l'onglet
'(On peut mettre ici un message d'alerte)
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End If
End With
Set c = c.Offset(1, 0) 'prochaine ligne
Loop
Application.ScreenUpdating = True
End Sub