XL 2016 erreur d'execution 424 en changeant le code name

dodineau

XLDnaute Occasionnel
Bonjour à toutes et tous.
J'ai un classeur de 2 onglets.
Le code name du 1er est SV1.
Je voudrais que le 2eme onglet obtienne le codename "Nouveau"
ensuite je voudrais que le 1er onglet obtienne le codename "Ancien"
Et enfin Je voudrais que le 2eme onglet obtienne le codename "Actuel"
Quand j'exécute mon code les 2 premiers changements s'effectuent bien mais au 3eme changement j'ai une erreur d'exécution 424 : Objet requis.

Voici mon code qui plante :
VB:
Sub Change_Code_Name()
Nom = SV1.Name
With Sheets(Nom)
 .Parent.VBProject.VBComponents(.CodeName) _
 .Properties("_CodeName") = "Nouveau"
End With

Nom = Actuel.Name
With Sheets(Nom)
 .Parent.VBProject.VBComponents(.CodeName) _
 .Properties("_CodeName") = "Ancien"
End With

Nom = Nouveau.Name
With Sheets(Nom)
 .Parent.VBProject.VBComponents(.CodeName) _
 .Properties("_CodeName") = "Actuel"
End With
End Sub

Merci pour votre aide.
A+
 

Bebere

XLDnaute Barbatruc
bonjour
Dodineau essaye comme suit
VB:
Sub Change_Code_Name()
    Dim nom As String

    On Error Resume Next
    nom = SV1.Name
    With Sheets(nom)
        .Parent.VBProject.VBComponents(.CodeName) _
                .Properties("_CodeName") = "Nouveau"
    End With

    nom = "Actuel"
    With Sheets(nom)
        .Parent.VBProject.VBComponents(.CodeName) _
                .Properties("_CodeName") = "Ancien"
    End With

    nom = "Nouveau"
    With Sheets(nom)
        .Parent.VBProject.VBComponents(.CodeName) _
                .Properties("_CodeName") = "Actuel"
    End With
    On Error GoTo 0
End Sub
 

dodineau

XLDnaute Occasionnel
Voici mon code :
VB:
Sub change_code_name()
    With Sheets(2)
        .Parent.VBProject.VBComponents(.CodeName) _
                .Properties("_CodeName") = "Nouveau"
    End With

    With SV1
        .Parent.VBProject.VBComponents(.CodeName) _
                .Properties("_CodeName") = "Ancien"
    End With

    With Nouveau
        .Parent.VBProject.VBComponents(.CodeName) _
                .Properties("_CodeName") = "Actuel"
    End With

End Sub

il suffit de créer un classeur avec 2 feuilles et de changer le codename manuellement de la 1ere feuille en "SV1"
Quand on lance le code, les 2 1ères instructions sont bien exécutées mais ça bloque à la 3ème.
 

Discussions similaires

Statistiques des forums

Discussions
312 164
Messages
2 085 870
Membres
103 007
dernier inscrit
salma_hayek