IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Renommer codename d'une feuille. [XL-2010]


Sujet :

Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Points : 52
    Points
    52
    Par défaut Renommer codename d'une feuille.
    Bonjour,

    Je souhaiterai renommer le codename d'une feuille. Pour ça j'ai trouvé cet excellent tutoriel > http://silkyroad.developpez.com/VBA/...icEditor/#LV-C

    Dans ce dernier il y a notamment le passage qui m’intéresse sur le codename. Seulement le code ne fonctionne pas.

    Au début du tuto Silkyroad mentionne la référence
    Microsoft Visual Basic for Applications Extensibility 5.3.
    Je l'ai activée, seulement je me demande s'il n'y en a pas d'autres à cocher, et d'ailleurs pour le profane que je suis, qu'est ce que ces références du menu > référence?

    Merci pour votre aide.

    A bientôt

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 764
    Points : 28 622
    Points
    28 622
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    La référence à laquelle tu fais allusion ne doit être activée que si tu manipules des objets de l'éditeur VBE soit par exemple VBProject.VBComponents.
    Pour utiliser la propriété CodeName d'un objet feuille. Voici comment on procède.
    Imaginons la feuille nommée Feuil ayant comme codeName le nom : "maFeuille"
    Voici le code qui utilise le nom de la feuille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Feuil1").Range("A1") = "Toto"
    Le code qui utilise le CodeName de la feuille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maFeuille.Range("A1") = "Toto"
    Pour renommer manuellement le CodeName d'une feuille, il suffit de sélectionner l'objet feuille dans l'explorateur d'objet et aller ensuite dans la fenêtre des propriétés à la propriété (Name). Attention pas Name
    Name est le nom de la feuille (le même qui est dans l'onglet de la feuille) et (Name) est son CodeName.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Points : 52
    Points
    52
    Par défaut
    Bonjour Philippe,

    Merci pour ta réponse, je cherche un moyen de renommer le codename d'une feuille au sein d'une procédure, donc en VBA.
    Le code du tuto que j'ai cité plus haut doit fonctionne-t-il chez toi ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub RenommerCodeName()
        Dim Ws As Worksheet
     
        'Spécifie la 1ere feuille dans le classeur contenant cette macro.
        Set Ws = ThisWorkbook.Sheets(1)
     
        'Attention: le nouveau nom ne doit pas contenir d'espace.
        ThisWorkbook.VBProject.VBComponents(Ws.CodeName).Name = "NouveauNom"
    End Sub
    Car chez moi sur un fichier tout neuf de 3 feuilles il ne veut rien savoir....

    j'ai le message d'erreur suivant
    Erreur d'exécution 1004 Erreur définie par l'application ou par l'objet

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 764
    Points : 28 622
    Points
    28 622
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Outre la référence à Microsoft Visual Basic for Applications Extensibility 5.3, il y a lieu d'approuver l'accès au modèle d'objet du projet VBA.
    Onglet [Développeur], groupe Code, commande Sécurité des macros
    Dans la boîte de dialogue Centre de gestion de la confidentialité, sélectionner Paramètres des macros et ensuite cocher l'option Accès approuvé au modèle d'objet du projet VBA
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Points : 52
    Points
    52
    Par défaut
    Nickel.

    Merci beaucoup!

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Avril 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement de composants

    Informations forums :
    Inscription : Avril 2020
    Messages : 5
    Points : 6
    Points
    6
    Par défaut 6 ans plus tard
    Bonjour à tous,

    Je me permets de déterrer ce topic vieux de 6 ans car je rencontre actuellement un souci avec une méthode similaire --> .[_CodeName]
    J'ai cherché sur différentes board sans grand résultat (personne ne semble rencontrer précisément mon souci).

    Explication sommaire de mon code :
    Je Set un onglet qui est ajouté dans mon classeur via un .Add
    Je tente de renommer le CodeName de cet onglet précédemment Seté via .[_CodeName]
    --> j'obtiens une erreur sur cette ligne, err 1004 : La méthode '_CodeName' de l'objet '_Worksheet' a échoué

    Cette méthode semble pourtant fonctionner lorsque que l'éditeur VBA est ouvert.
    En tout cas cela fonctionne avec un pas à pas déclenché en débug (suite à l'erreur 1004 ci-dessus).
    Mais ce qui est sûr c'est que VBA ne parvient pas à renommer les CodeName de mes feuilles lorsqu'il n'y a "que" le classeur d'ouvert (et pas l'éditeur VBA)...

    J'ai tenté ma chance avec la méthode ThisWorkbook.VBProject.VBComponents(Ws.CodeName).Name = "NouveauNom"
    Ca ne fonctionne pas non plus, le comportement est le même (fonctionne en pas à pas et également quand l'éditeur VBA est ouvert). Je lève néanmoins une autre erreur, err 9 : L'indice n'appartient pas à la sélection
    Et le plus étrange est que cette méthode semble elle aussi fonctionner lorsque l'éditeur VBA est ouvert, et de plus sans avoir activé la référence citée par Philippe... c'est à ne rien y comprendre.
    En parcourant les autres forums j'ai cru comprendre que la méthode .[_CodeName] ne semble pas avoir besoin d'une référence spécifique pour fonctionner, d'où mon souhait de l'utiliser.

    Quelqu'un aurait-il de "l'expérience" en renommage de CodeName et serait en mesure de m'apporter ses lumières ?

    Je n'ai aucune référence spécifque d'activée (hormis celles cochées par défaut).
    Je suis en Excel Office 365 MSO (16.0.12527.20260) 32 bits.

    Merci de m'avoir lu, bon WE à vous.

  7. #7
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 764
    Points : 28 622
    Points
    28 622
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    J'ai retrouvé dans mes archives ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub ChangeCodeName(oSheet As Worksheet, NewCodeName As String)
        oSheet.[_CodeName] = NewCodeName
    End Sub
    Deux exemples qui l'invoque (deuxième ligne Titi est le CodeName modifié dans la ligne qui précède
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ChangeCodeName Worksheets("Feuil2"), "Titi"
    ChangeCodeName Titi, "Tutu"
    Comme je n'avais pas documenté ma procédure à l'époque, j'ai dû refaire quelques tests pour signaler que pour renommer avec [_CodeName] la ligne d'instruction DOIT être dans une procédure indépendante et que le Step by Step renvoie une erreur mais la modification a lieu

    Je n'ai pas approfondi pour connaître la raison

    Pour résumé
    Cette procédure renvoie une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub TestChangeCodeName()
        'Worksheets("Feuil2").[_CodeName] = "Tutu"
        ' ChangeCodeName Worksheets("Feuil2"), "Titi"
    End Sub
    alors que celle qui invoque la procédure ChangeCodeName qui a la même instruction fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub TestChangeCodeName()
        ' Worksheets("Feuil2").[_CodeName] = "Tutu"
         ChangeCodeName Worksheets("Feuil2"), "Titi"
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Avril 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement de composants

    Informations forums :
    Inscription : Avril 2020
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Bonjour Philippe,

    Merci beaucoup pour le temps que vous avez consacré à mon problème.

    Malheureusement j'avais déjà testé de créer une procédure indépendante avec paramètres, le résultat est le même je lève à nouveau l'erreur 1004 décrite dans mon précédent post.
    Et chose étrange, chez moi je constate l'inverse par rapport à votre phrase : "le Step by Step renvoie une erreur mais la modification a lieu"
    En effet, chez moi c'est le mode Execution qui lève l'erreur alors qu'en Step by Step là la modification a bien lieu...

    Anyway, comme j'ai constaté que le fait d'avoir l'éditeur VBA ouvert semble corriger mon souci, voici donc le code que je vais utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Change_CodeName(wsOnglet As Worksheet, strPARAM_tech As String, lngI As Long)
     
            Application.VBE.MainWindow.Visible = True  'Ouverture de l'éditeur VBA
            wsOnglet.[_CodeName] = strPARAM_tech & lngI
            Application.VBE.MainWindow.Visible = False 'Fermeture de l'éditeur VBA
     
    End Sub
    Code testé et fonctionnel (quand seul le classeur est ouvert pendant l'exécution de ma macro)
    Edit suite aux post ci-dessous : ce code nécessite l'activation préalable de l'Accès approuvé au modèle d'objet du projet VBA
    Bon ce n'est pas propre à 100% car on voit l'éditeur VBA s'ouvrir et se refermer de manière très breve (un Application.ScreenUpdating = false ne corrige pas cela), mais peut-être que cette solution pourra dépanner quelqu'un d'autre.

    Encore merci Philippe, bon dimanche à vous.

  9. #9
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 764
    Points : 28 622
    Points
    28 622
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Ravi d'avoir pu t'aider.
    Oui, je ne travaille qu'avec des classeurs ouverts et personnellement je ne travaille pas avec les objets de l'éditeur car comme je distribue mes projets, c'est une source de problème si le client n'a pas l'option Accès approuvé au modèle d'objet du projet VBA cochée et de plus le service informatique de certaines entreprises empêche que cette option soit utilisée.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Avril 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement de composants

    Informations forums :
    Inscription : Avril 2020
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Ah mince.
    J'ai complètement oublié que chez moi j'ai coché la case Accès approuvé au modèle d'objet du projet VBA.
    Moi aussi je distribue mes fichiers, finalement ma précédente solution n'est pas applicable et je reviens donc à la case départ.

    Si je reviens à votre proposition de procédure indépendante, voyez-vous une quelconque raison qui expliquerait le fait que cela ne fonctionne pas de mon côté ?

  11. #11
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 764
    Points : 28 622
    Points
    28 622
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    J'ai refait des tests car le fait qu'il faille passer par une procédure indépendante m'interpellait et en fait le message d'erreur que l'on a lorsque l'on tape cette ligne Worksheets("Feuil2").[_CodeName] = "Zaza", c'est "objet requit" donc j'ai remplacé l'objet feuille par une variable objet et cela fonctionne

    Testé sur Excel 2010 et 2013. Je dois encore vérifier sur Office 365
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub TestChangeCodeName()
      Dim oSheet As Worksheet
      Set oSheet = Worksheets("Feuil2")
      oSheet.[_CodeName] = "Zaza"
      Set oSheet = Nothing
    End Sub
    Attention qu'il faut prévoir un test pour vérifier si le CodeName existe déjà


    [EDIT]
    Je viens de tester avec une feuille d'un autre classeur et cela fonctionne également
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub TestNewWorkbook()
      Dim wkb As Workbook
      Dim sht As Worksheet
      Set wkb = Workbooks.Add
      Set sht = wkb.Worksheets(1)
      sht.[_CodeName] = "Toto"
      Set wkb = Nothing: Set sht = Nothing
    End Sub
    Second test avec renommage d'une nouvelle feuille que l'on insère dans le nouveau classeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub TestNewWorkbook()
      Dim wkb As Workbook
      Dim sht As Worksheet
      Set wkb = Workbooks.Add
      Set sht = wkb.Worksheets(1)
      sht.[_CodeName] = "Toto"      ' Première feuille  du nouveau classeur
      Set sht = wkb.Worksheets.Add  ' Insérer une nouvelle feuille
      sht.[_CodeName] = "Titi"      ' Nouvelle feuille
      Set wkb = Nothing: Set sht = Nothing
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Avril 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement de composants

    Informations forums :
    Inscription : Avril 2020
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Philippe,

    Merci pour cette nouvelle réponse très complète.

    Votre dernier code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub TestNewWorkbook()
      Dim wkb As Workbook
      Dim sht As Worksheet
      Set wkb = Workbooks.Add
      Set sht = wkb.Worksheets(1)
      sht.[_CodeName] = "Toto"      ' Première feuille  du nouveau classeur
      Set sht = wkb.Worksheets.Add  ' Insérer une nouvelle feuille
      sht.[_CodeName] = "Titi"      ' Nouvelle feuille
      Set wkb = Nothing: Set sht = Nothing
    End Sub
    C'est exactement la démarche (Set d'un objet Onglet) que j'avais appliquée au début et qui malheureusement ne fonctionne qu'à moitié chez moi:
    - ne fonctionne pas à l'ouverture du classeur quand l'éditeur VBA n'a jamais été ouvert, provoque une erreur 1004
    - si j'entre en débug et que je fais un step by step, ça fonctionne
    - à l'ouverture du classeur, si avant de lancer la macro j'ouvre VBA, ça fonctionne
    - si je joue le code complet en step by step, ça fonctionne
    Dans tous les cas, si VBA n'a pas été ouvert au moins une fois alors ça ne fonctionne jamais
    Quand ça veut pas ça veut pas hein ^^
    Pour info, je ne modifie que les CodeName des onglets se trouvant dans mon classeur VBA (pas dans des fichiers externes).

    Bon finalement j'ai revu ma méthode pour gérer ces onglets ajoutés --> j'utilise maintenant le Name et non plus le CodeName.
    Je renomme mes feuilles avec un début de nom générique pour boucler plus facilement dessus par la suite.

  13. #13
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 764
    Points : 28 622
    Points
    28 622
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je dois hélas te confirmer que chez moi cela ne fonctionne pas non plus.
    J'ai placé un bouton pour activer la procédure et cela fonctionne tant que je ne ferme pas l'application Excel
    En relançant l'application et en ouvrant le classeur qui contient la procédure ET sans ouvrir l'éditeur et que je clique sur le bouton, j'ai une erreur 1004, "La méthode _CodeName de l'objet _Worksheet à échoué"

    C'est sans doute la raison pour laquelle, je n'utilise pas cette possibilité et que c'est resté dans mes archives mais comme je ne l'avais pas documenté, je ne m'en souvenait plus.

    Cependant, je n'ai jamais eu réellement besoin de renommer le CodeName de mes feuilles.

    Je ne sais pas si cela t'aidera mais je partage mon expérience.
    Je ne travaille qu'avec la propriété CodeName des feuilles parce-que c'est la manière la plus sûre de ne pas avoir de problème. Je livre les classeurs en ayant renommé manuellement ces propriétés que j'utilise directement avec le code VBA ou comme modèle. Ainsi les nouveaux classeurs auront les bons CodeName
    Lorsque j'ouvre un autre classeur que celui dans lequel se trouve le code VBA, j'utilise également le CodeName de la feuille que je veux traiter mais comme il n'est pas possible d'utiliser directement cette propriété sans utiliser les objets de l'éditeur, j'utilise une fonction qui parcoure toutes les feuilles du classeur en comparant la propriété CodeName avec le nom que je cherche
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  14. #14
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Avril 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement de composants

    Informations forums :
    Inscription : Avril 2020
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,
    Je dois hélas te confirmer que chez moi cela ne fonctionne pas non plus.
    J'ai placé un bouton pour activer la procédure et cela fonctionne tant que je ne ferme pas l'application Excel
    En relançant l'application et en ouvrant le classeur qui contient la procédure ET sans ouvrir l'éditeur et que je clique sur le bouton, j'ai une erreur 1004, "La méthode _CodeName de l'objet _Worksheet à échoué"
    Hello Philippe, je suis rassuré de voir que le problème est global (pour tout le monde) et pas que chez moi.
    Maintenant au moins je saurais qu'il ne faut pas chercher à renommer les CodeName, en tout cas pour des classeurs qui seront distribués par la suite.

    Encore merci pour tous ces précieux conseils, bonne semaine à vous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Toutes versions] CodeName d'une feuille dans une variable
    Par mondev dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 01/11/2009, 19h58
  2. renommer et copier une feuille
    Par maroinoide dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/04/2009, 12h18
  3. [VBA-E]copier et renommer une feuille excel
    Par la-breche dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/03/2007, 13h49
  4. Renommer une feuille Excel selon table/Access
    Par PAULOM dans le forum Access
    Réponses: 3
    Dernier message: 24/04/2006, 15h32
  5. [VBA-E]renommer une feuille d'un classeur
    Par jeremiegrenoble dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/03/2006, 09h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo