Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 08/03/2010, 08h55   #1
Membre habitué
 
Homme
retraité
Inscription : novembre 2002
Messages : 342
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 89
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : retraité
Secteur : Santé

Informations forums :
Inscription : novembre 2002
Messages : 342
Points : 107
Points : 107
Par défaut Feuille name et (name)

Bonjour,

Comment agir sur name et sur (name) dans les propriétés d'une feuille.
On peut changer (name) manuellement, mais je voudrais changer (name) par une macro et je ne sais pas comment.

Merci si vous pouvez m'aider.
flamel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2010, 09h19   #2
Membre habitué
 
Inscription : décembre 2007
Messages : 101
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 101
Points : 103
Points : 103
Bonjour

Un document qui devrait apporter des réponses
http://silkyroad.developpez.com/VBA/...etesClasseurs/

JP
jp014 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2010, 11h12   #3
Membre habitué
 
Homme
retraité
Inscription : novembre 2002
Messages : 342
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 89
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : retraité
Secteur : Santé

Informations forums :
Inscription : novembre 2002
Messages : 342
Points : 107
Points : 107
Ça ne marche pas pour les propriétés d'une feuille, ou bien je n'ai pas su l'adapter.
flamel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2010, 11h22   #4
Membre habitué
 
Inscription : décembre 2007
Messages : 101
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 101
Points : 103
Points : 103
Bonjour

Pour renommer une feuille

Code :
1
2
3
 
Sheets("Feuil1").Select
    Sheets("Feuil1").Name = "toto"
L'enregistreur de macro permet de trouver facilement le vocabulaire et la syntaxe de code à écrire.

JP
jp014 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2010, 11h43   #5
Membre Expert
 
Avatar de aalex_38
 
Inscription : septembre 2007
Messages : 1 570
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 1 570
Points : 1 709
Points : 1 709
Bonjour,

Pour renommer une feuille :

Code :
Worksheets("Feuil1").Name = "nouveauNom"
__________________
aalex_38 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2010, 11h54   #6
Membre habitué
 
Homme
retraité
Inscription : novembre 2002
Messages : 342
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 89
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : retraité
Secteur : Santé

Informations forums :
Inscription : novembre 2002
Messages : 342
Points : 107
Points : 107
Merci, mais ce n'est pas name que je veux changer, mais (name).

Dans la fenêtre VBAProject, on lit par exemple, pour une même feuille :

Feuil3(Feuil1)

Le nom 'Feuil1' peut être changé par l'onglet dans Excel
Le nom 'Feuil3' ne peut être changé que dans VBA, fenêtre Propriétés

C'est Feuil3 que je voudrais changer par une macro.
La macro automatique ne marche pas dans la fenêtre VBA.
flamel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2010, 12h07   #7
Membre Expert
 
Avatar de aalex_38
 
Inscription : septembre 2007
Messages : 1 570
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 1 570
Points : 1 709
Points : 1 709
Tu veux donc parler du "CodeName".
Pourquoi vouloir changer par macro, quel est l'utilité, le but.
Car à mon avis ce n'est pas hyper simple vu que cette proprieté est en lecture seule tu vas être obligé de passer par les VBCOMPONENT.
__________________
aalex_38 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2010, 12h17   #8
Membre Expert
 
Avatar de aalex_38
 
Inscription : septembre 2007
Messages : 1 570
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 1 570
Points : 1 709
Points : 1 709
Bon même si l'utilité ne me saute pas aux yeux, si on veut le faire, on peut le faire

Un exemple :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
Sub essai_vb()
Dim wb     As Workbook
Dim VBComp As VBComponent
Dim nom    As String
 
Set wb = ThisWorkbook
nom = "Feuil1"
 
' Boucle sur les modules
For Each VBComp In wb.VBProject.VBComponents
      If VBComp.Type = 100 Then  ' feuilles
         If VBComp.Name = nom Then
         VBComp.Name = "NouveauNom"
exit for
         End If
         Debug.Print VBComp.Type & VBComp.Name
       End If
Next
 
End Sub
__________________
aalex_38 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2010, 21h06   #9
Responsable
Office & Excel

 
Avatar de Pierre Fauconnier
 
Homme Pierre Fauconnier
Formateur et développeur informatique indépendant
Inscription : novembre 2003
Messages : 7 906
Détails du profil
Informations personnelles :
Nom : Homme Pierre Fauconnier
Âge : 45
Localisation : Belgique

Informations professionnelles :
Activité : Formateur et développeur informatique indépendant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2003
Messages : 7 906
Points : 13 687
Points : 13 687
Envoyer un message via Skype™ à Pierre Fauconnier
Bonsoir

Pour modifier le codename

Citation:
mafeuille.[_codename] = "NouveauNom"
__________________
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------

Ma nouvelle vidéo: comparer des listes via une MFC - Mes articles sur DVP
Vous souhaitez rédiger pour DVP? Contactez-moi
Amoureux de la langue française? Venez corriger nos ressources
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
N'oubliez pas de VOTER (en bas à droite d'un message)

---------------
Pierre Fauconnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2010, 21h35   #10
Membre habitué
 
Homme
retraité
Inscription : novembre 2002
Messages : 342
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 89
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : retraité
Secteur : Santé

Informations forums :
Inscription : novembre 2002
Messages : 342
Points : 107
Points : 107
Merci à vous,

J'ignorais l'existence de CodeName, et maintenant je suis débloqué.
J'avais trouvé sur un forum un modèle qui employait 'Name'. C'étqit une erreur. Il suffisait de mettre 'CodeName' pour que ça marche, mais je cherchais ailleurs.
J'avais déjà remercié aalex_38, mais je me suis aperçu que mon message n'était pas parti !
Merci aussi à Pierre Fauconnier pour sa réponse.

Cordialement à tous.
flamel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2010, 22h15   #11
Responsable
Office & Excel

 
Avatar de Pierre Fauconnier
 
Homme Pierre Fauconnier
Formateur et développeur informatique indépendant
Inscription : novembre 2003
Messages : 7 906
Détails du profil
Informations personnelles :
Nom : Homme Pierre Fauconnier
Âge : 45
Localisation : Belgique

Informations professionnelles :
Activité : Formateur et développeur informatique indépendant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2003
Messages : 7 906
Points : 13 687
Points : 13 687
Envoyer un message via Skype™ à Pierre Fauconnier
Citation:
Envoyé par aalex_38 Voir le message
Bon même si l'utilité ne me saute pas aux yeux...
C'est intéressant de pouvoir faire cela lorsque tu crées une nouvelles feuille par VBA et que tu veux "coder" son nom, avec par exemple un préfixe. Ainsi, tu peux atteindre par VBA une feuille dont tu es certain du nom, le nom de l'onglet étant sujet à modification de la part de l'utilisateur, alors que le pour modifier le codename, il faut avoir accès au code VBA...
__________________
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------

Ma nouvelle vidéo: comparer des listes via une MFC - Mes articles sur DVP
Vous souhaitez rédiger pour DVP? Contactez-moi
Amoureux de la langue française? Venez corriger nos ressources
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
N'oubliez pas de VOTER (en bas à droite d'un message)

---------------
Pierre Fauconnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2010, 10h19   #12
Membre Expert
 
Avatar de aalex_38
 
Inscription : septembre 2007
Messages : 1 570
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 1 570
Points : 1 709
Points : 1 709
Bonjour à tous,


Code :
mafeuille.[_codename] = "NouveauNom"
Merci Pierre pour la syntaxe, Je ne connaissais pas cette proprièté, il faut dire qu'elle fait partie des membres masqués !

Citation:
C'est intéressant de pouvoir faire cela lorsque tu crées une nouvelles feuille par VBA et que tu veux "coder" son nom, avec par exemple un préfixe. Ainsi, tu peux atteindre par VBA une feuille dont tu es certain du nom, le nom de l'onglet étant sujet à modification de la part de l'utilisateur, alors que le pour modifier le codename, il faut avoir accès au code VBA
La remarque est pertinente merci, jusqu'a maintenant j'utilisais assez souvent le codename mais pour des feuilles déjà créés et dont j'avais modifié le codename manuellement.
__________________
aalex_38 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 04h11.


 
 
 
 
Partenaires

Hébergement Web