Rapport de message :*
 

Re: Macro pour ajouter une feuille et la renommer

Titre du sujet : Re: Macro pour ajouter une feuille et la renommer
par Guy le 17/05/2014 16:31:18

Bonjour Basket,

 

Tout d'abord le code soumis présente quelques pièges :

Sub Macro2()

  Sheets.Add ' Ajoute bien une feuille mais ne permet pas de la saisir
  Sheets("Feuil3").Select ' L'utilisation de Select est à proscrire
                          ' et rien n'autorise à penser que la nouvelle
                          ' feuille a un nom d'onglet "Feuil3"
  Sheets("Feuil3").Name = "Nouvelle feuille"
    
End Sub

On pourra choisir l'une ou l'autre des procédures :

Public Sub AjouterFeuille()

  Static I As Long ' Une variable statique garde sa valeur à chaque appel
  Dim Feuille As Worksheet ' Une référence à la feuille nouvellement créée
  
  I = I + 1     ' L'index est augmenté

  Set Feuille = ThisWorkbook.Worksheets.Add ' La référence est posée
  
  Feuille.Name = "Nouvelle feuille " & I ' Le nom d'onglet de la nouvelle feuille est posé.
      
End Sub

 

Public Sub AjouterFeuilleAvecNom(Nom As String)

  Dim Feuille As Worksheet
  
  On Error GoTo AjouterFeuilleAvecNom_Error
  
  Set Feuille = ThisWorkbook.Worksheets.Add ' La référence est posée
  Feuille.Name = Nom ' Le nom d'onglet de la nouvelle feuille est posé.
    
  
  On Error GoTo 0
  Exit Sub

AjouterFeuilleAvecNom_Error:
  Select Case Err.Number
    Case 1004
      If Err.Description Like "*feuille*" Then
        
        MsgBox "Une feuille " & Chr(34) & Nom & Chr(34) & " existe déjà." & vbCrLf & _
               "Veuillez choisir un nom de feuille unique.", vbInformation, "Ajout de feuille"
               
      End If
      
  End Select
  
End Sub

À tester de ton côté.

 

Cordialement,

 

Guy