Optimiser le code d'une recopie de feuille
Bonjour,
Le code ci-dessous recopie une feuille vers une autre feuille.
J'aimerais savoir s'il peut être optimisé ? Peut-être que certaines parties ne sont pas utiles ? Si oui, lesquelles ? ErrorCopy ?
Code:
1 2 3 4 5 6 7
| Function SheetExists(SheetName) As Boolean
Dim f As Object
On Error Resume Next
Set f = Sheets(SheetName)
If Err = 0 Then SheetExists = True
Set f = Nothing
End Function |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Sub SheetCopy()
Dim st As String
Dim sh As Worksheet
Dim shDestination As Worksheet
Set sh = ActiveSheet
st = InputBox("Nom de la nouvelle feuille : (Exemple : NOM DE FAMILLE)")
If st <> "" Then
If Not SheetExists(st) Then
On Error GoTo ErrorCopy
sh.Copy after:=sh
Set shDestination = ActiveSheet
shDestination.Name = st
Else
MsgBox "La feuille " & st & " existe déjà !"
End If
End If
Exit Sub
ErrorCopy:
MsgBox "Erreur : " & Err.Number & " " & Err.Description & vbCrLf & "Sur copie " & sh.Name & " vers feuille " & st, vbCritical
End Sub |
Merci pour votre aide !