Macro - Empêcher renommer feuille si une feuille du même nom existe

gourdin

XLDnaute Impliqué
Bonsoir,

Une macro réalise une copie de la feuille nommée "TEST" et la renomme de la valeur d'une cellule de la feuille "ESSAI"
J'ai donc le code suivant :

Sheets("TEST").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = Sheets("ESSAI").Range("A1").value

Comment afficher un message si une feuille du même nom existe déjà (exemple : "Cette feuille existe déjà !") et comment annuler la copie de la feuille.

Merci
 
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Macro - Empêcher renommer feuille si une feuille du même nom existe

Bonsoir fourdin,

Essaie comme ceci:

Code:
Sub CopieFeuille()
Dim Ws As Worksheet
    
'Evite le message d'erreur si la feuille n'existe pas.
On Error Resume Next
Set Ws = Sheets(Sheets("ESSAI").Range("A1").Value)

On Error GoTo 0
      
'(Ws = Nothing quand l'objet attribué à la variable n'existe pas)
If Not Ws Is Nothing Then
    MsgBox "La feuille existe dans le classeur."
        Else
    Sheets("TEST").Copy After:=Sheets(Sheets.Count)
    ActiveSheet.Name = Sheets("complement").Range("A1").Value
End If
End Sub
Le code commence par vérifier avant de copier lma feuille et de la renommer si elle n'existe pas.

Bonne soirée.

Cordialement.
 

gourdin

XLDnaute Impliqué
Re : Macro - Empêcher renommer feuille si une feuille du même nom existe

Merci beaucoup Papou-net,

Avec tes explications claires dans ton code et ton message j'ai pu l'adapter à mon projet et cela fonctionne.

Bonne journée.
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 107
Messages
2 085 354
Membres
102 872
dernier inscrit
YvanCB