Vba:comment numéroter les n° d'index des onglets d'un classeur
Résolu/Fermé
jiaco79
Messages postés
12
Date d'inscription
jeudi 14 mars 2013
Statut
Membre
Dernière intervention
5 septembre 2013
-
3 juin 2013 à 11:58
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 - 6 sept. 2013 à 10:40
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 - 6 sept. 2013 à 10:40
A voir également:
- Vba:comment numéroter les n° d'index des onglets d'un classeur
- Mkdir vba ✓ - Forum VB / VBA
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Excel compter cellule couleur sans vba - Guide
- Vba range avec variable ✓ - Forum VB / VBA
- Vba dépassement de capacité ✓ - Forum Excel
8 réponses
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 243
Modifié par eriiic le 3/06/2013 à 12:27
Modifié par eriiic le 3/06/2013 à 12:27
Bonjour,
Le n° d'index correspond à la position de feuille c'est tout.
Si tu veux lui donner le n°1 il faut qu'elle soit en premier.
Donc choisis entre n° d'index dans l'ordre ou ordre du tri voulu.
Maintenant tu peux leur changer le codename (Feuil1) qui est indépendant du nom (Résultat).
Dans VBA tu lis : codename (nom de la feuille)
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
Le n° d'index correspond à la position de feuille c'est tout.
Si tu veux lui donner le n°1 il faut qu'elle soit en premier.
Donc choisis entre n° d'index dans l'ordre ou ordre du tri voulu.
Maintenant tu peux leur changer le codename (Feuil1) qui est indépendant du nom (Résultat).
Dans VBA tu lis : codename (nom de la feuille)
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
jiaco79
Messages postés
12
Date d'inscription
jeudi 14 mars 2013
Statut
Membre
Dernière intervention
5 septembre 2013
3 juin 2013 à 13:48
3 juin 2013 à 13:48
Bonjour eric,
Merci d'avoir réagis si rapidement à ma demande mais je crois ne pas m'être très bien expliqué. En fait j'ai un fichier avec une multitude d'onglets et losrque l'on rajoute une feuille supplémentaire pour insèrer un nouvelle outils par exemple il doit-être réindexé systèmatiquement dans la foulée après le tri des onglets et c'est cette partie que je ne maitrise pas encore: Réindexer les feuilles de 1 à x feuilles à chaque ajout d'une feuille identique aux autres mais vide de données. Voila mon problème j'ai codé la partie du programme qui tri les feuilles automatiquement et je n'ai pas le choix, je dois réussir à exécuter ces deux types de tri à chaque ajout avec l'aide une procédure évènnementielle.
Je te remercie encore pour ton aide de ce matin et j'éspère ne pas trop mal m'être expliqué cette fois-ci.
Bon courage et naturellement je reste à ta disposition pour plus d'infos.
Très cordialement.
jiaco79
Merci d'avoir réagis si rapidement à ma demande mais je crois ne pas m'être très bien expliqué. En fait j'ai un fichier avec une multitude d'onglets et losrque l'on rajoute une feuille supplémentaire pour insèrer un nouvelle outils par exemple il doit-être réindexé systèmatiquement dans la foulée après le tri des onglets et c'est cette partie que je ne maitrise pas encore: Réindexer les feuilles de 1 à x feuilles à chaque ajout d'une feuille identique aux autres mais vide de données. Voila mon problème j'ai codé la partie du programme qui tri les feuilles automatiquement et je n'ai pas le choix, je dois réussir à exécuter ces deux types de tri à chaque ajout avec l'aide une procédure évènnementielle.
Je te remercie encore pour ton aide de ce matin et j'éspère ne pas trop mal m'être expliqué cette fois-ci.
Bon courage et naturellement je reste à ta disposition pour plus d'infos.
Très cordialement.
jiaco79
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 243
Modifié par eriiic le 3/06/2013 à 14:12
Modifié par eriiic le 3/06/2013 à 14:12
En quoi que l'index soit 5 ou 12 peut-il te gêner ?
Au risque de me répéter l'index d'une feuille est sa position : c'est son rôle (je ne peux pas mettre en rouge !).
Tu parles sans doute d'autre chose mais je ne vois pas quoi. Il manque des éléments...
Donne plutôt ta problématique, tu es peut-être sur une mauvaise piste de résolution.
Que veux-tu en faire de cet index ? Quel est ton problème ?
eric
Au risque de me répéter l'index d'une feuille est sa position : c'est son rôle (je ne peux pas mettre en rouge !).
Tu parles sans doute d'autre chose mais je ne vois pas quoi. Il manque des éléments...
Donne plutôt ta problématique, tu es peut-être sur une mauvaise piste de résolution.
Que veux-tu en faire de cet index ? Quel est ton problème ?
eric
jiaco79
Messages postés
12
Date d'inscription
jeudi 14 mars 2013
Statut
Membre
Dernière intervention
5 septembre 2013
3 juin 2013 à 15:19
3 juin 2013 à 15:19
C'est moi de nouveau,
J'ai besoins des n° d'index car ils me servent de balises pour la gestion des nouvelles matrices insérées par les utilisateurs, cest la raison pour laquelle je voudrais arriver à trouver le code qui peux renommer les feuilles dans le VBE sans être obliger de la faire à la main lors des rajouts d'onglets. En seulement 45 feuilles plus aucunes n'est placées au bon endroit par rapport aux positions de chaque feuilles. Ne perds pas ton temps pour un programme que peu de personnes ne doivent en avoir l'utilisation, si j'arrive à trouver je te communiquerai de quelle manière j'y suis parvenu.
Merci pour l'attention que vous portez à nous et à nos problèmes. Je te souhaite à toi et à toute ton équipe de passer une bonne journée.
Merci encore.
Très cordialement
jiaco79
J'ai besoins des n° d'index car ils me servent de balises pour la gestion des nouvelles matrices insérées par les utilisateurs, cest la raison pour laquelle je voudrais arriver à trouver le code qui peux renommer les feuilles dans le VBE sans être obliger de la faire à la main lors des rajouts d'onglets. En seulement 45 feuilles plus aucunes n'est placées au bon endroit par rapport aux positions de chaque feuilles. Ne perds pas ton temps pour un programme que peu de personnes ne doivent en avoir l'utilisation, si j'arrive à trouver je te communiquerai de quelle manière j'y suis parvenu.
Merci pour l'attention que vous portez à nous et à nos problèmes. Je te souhaite à toi et à toute ton équipe de passer une bonne journée.
Merci encore.
Très cordialement
jiaco79
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 243
3 juin 2013 à 16:28
3 juin 2013 à 16:28
sans être obliger de la faire à la main
Explique comment tu fais pour changer l'index à la main ?
Ca éclairera sans doute beaucoup de chose.
eric
Explique comment tu fais pour changer l'index à la main ?
Ca éclairera sans doute beaucoup de chose.
eric
jiaco79
Messages postés
12
Date d'inscription
jeudi 14 mars 2013
Statut
Membre
Dernière intervention
5 septembre 2013
3 juin 2013 à 17:03
3 juin 2013 à 17:03
Pour que les numéros d'index correspondent à l'emplacement de chaque onglet j'ouvre l'Editeur VB, Ctrl+R: explorateur de projet puis je sélectionne la 1ère feuille triée auparavant, F4 pour propriétés et la je modifie manuellement le numéro d'index pour qu'il corresponde à la position de la page. Et c'est bien cette procédure que je veux arriver à faire car j'ai des fichiers ou les utilisateurs insèrent et retirent des onglets depuis des années ce qui fait que les numéros d'index ne correspondent plus à rien et j'aimerais vraiment faire le ménage avec une procédure qui le fasse automatiquement. Je vais creuser la piste des CodeNames dont tu m'as parlé ce midi.
Merci pour la patience que tu me prêtes et pour ta compréhension.
Je te souhaite de passer une bonne soirée.
Cordialement
jiaco79
Merci pour la patience que tu me prêtes et pour ta compréhension.
Je te souhaite de passer une bonne soirée.
Cordialement
jiaco79
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 243
3 juin 2013 à 17:28
3 juin 2013 à 17:28
et la je modifie manuellement le numéro d'index pour qu'il corresponde à la position de la page
Il n'y a pas de propriété Index dans la fenêtre Propriétés. Pour une feuille elle n'est accessible qu'en lecture.
Si c'est ça que tu modifies :
c'est le codename.
Aide :
Tu peux arrêter de chercher...
eric
Il n'y a pas de propriété Index dans la fenêtre Propriétés. Pour une feuille elle n'est accessible qu'en lecture.
Si c'est ça que tu modifies :
c'est le codename.
Aide :
CodeName, propriété Cette propriété renvoie le nom de code de l'objet. Type de données String en lecture seule. Remarque La valeur qui apparaît dans la cellule affichée à droite de (Nom) dans la fenêtre Propriétés correspond au nom de code de l'objet sélectionné. Au moment de la création, vous pouvez changer le nom de code d'un objet en modifiant cette valeur. Il est toutefois impossible de modifier cette propriété par programmation au moment de l'exécution.
Tu peux arrêter de chercher...
eric
jiaco79
Messages postés
12
Date d'inscription
jeudi 14 mars 2013
Statut
Membre
Dernière intervention
5 septembre 2013
4 juin 2013 à 07:01
4 juin 2013 à 07:01
OK Eric je te remercie pour ton aide, la prochaine fois j'essayerai de trouver quelque chose de moins bizzare à coder.
Passes une bonne journée.
jiaco79
Passes une bonne journée.
jiaco79
jiaco79
Messages postés
12
Date d'inscription
jeudi 14 mars 2013
Statut
Membre
Dernière intervention
5 septembre 2013
5 sept. 2013 à 12:07
5 sept. 2013 à 12:07
Bonjour Eric,
Je crois avoir trouvé la solution pour remettre les n° d'index à chaque page sans les déplacer par odre alphabèthique !
<Code>
Sub RemetEnPlaceNoIndex()
Dim ws As Worksheet
Dim I As Integer
On Error Resume Next
For Each ws In ActiveWorkbook.Worksheets
ws.Parent.VBProject.VBComponents(ws.CodeName).Properties("_CodeName") = "Feuil" & I + 1
I = I + 1
Next ws
End Sub
<Fin Code>
En espèrant que ça servira à quelqu'un, normalement ce code fonctionne parfaitement.
Bonne journée
A++
Jiaco79
Je crois avoir trouvé la solution pour remettre les n° d'index à chaque page sans les déplacer par odre alphabèthique !
<Code>
Sub RemetEnPlaceNoIndex()
Dim ws As Worksheet
Dim I As Integer
On Error Resume Next
For Each ws In ActiveWorkbook.Worksheets
ws.Parent.VBProject.VBComponents(ws.CodeName).Properties("_CodeName") = "Feuil" & I + 1
I = I + 1
Next ws
End Sub
<Fin Code>
En espèrant que ça servira à quelqu'un, normalement ce code fonctionne parfaitement.
Bonne journée
A++
Jiaco79
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 243
6 sept. 2013 à 10:40
6 sept. 2013 à 10:40
Bonjour,
très intéressant, merci pour le retour.
eric
très intéressant, merci pour le retour.
eric