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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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+
 
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
 
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.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour