Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1357 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Numérotation feuilles excel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Numérotation feuilles excel

n°1459411
syl06150
Posté le 18-10-2006 à 11:40:50  profilanswer
 

Bonjour,
J'ai un classeur contenant N feuilles, ces feuilles ayant été insérées, suprimées... leurs numéros ne se suivent pas.
Est-il possible sous Excel via une macro VBA de renoméroter ces feuilles dans l'ordre ou elle sont a l'ouverture du fichier.
Merci de vos conseils.

mood
Publicité
Posté le 18-10-2006 à 11:40:50  profilanswer
 

n°1459935
seniorpapo​u
Posté le 18-10-2006 à 17:58:00  profilanswer
 

Bonsoir,
 
i = 0
For Each sh In ThisWorkbook.Sheets
i = i + 1
sh.Name = "toto" & Trim(Str(i))
Next sh
 
Cordialement

n°1460204
syl06150
Posté le 19-10-2006 à 07:37:02  profilanswer
 

Je te remercie de ta réponse, mais ce que je voudrais c'est renuméroter le numéro des feuilles et non pas le nom des feuilles.
si qqun a une solution, je vous en remercie par avance.


Message édité par syl06150 le 19-10-2006 à 07:38:01
n°1460205
seniorpapo​u
Posté le 19-10-2006 à 07:43:01  profilanswer
 

Bonjour,
donnes un exemple stp
Merci

n°1460258
syl06150
Posté le 19-10-2006 à 10:21:48  profilanswer
 

Alors voila:
Mon classeur contient X feuilles (ou onglet) portant le nom de la semaine S18, S19, S20, S21..... classées dans l'ordre croissant. Par contre au niveau des références des feuilles (celle que l'on voit dans VBA PROJECT)  
la "S18" correxpond à la "feuille10",  
la "S19" correspond à la "feuille11",  
la "S19" correspond à la "feuille3",  
la "S21" correspond à la "feuille1"...
Ce que je voudrais c'est que  
la "S18" corresponde à la "feuille1",
la "S19" corresponde à la "feuille2",
la "S20" corresponde à la "feuille3",
la "S21" corresponde à la "feuille4",...

n°1460322
Paul Hood
Posté le 19-10-2006 à 11:20:23  profilanswer
 

Je pense que tu ne peux pas modifier le numéro des feuilles...
Par contre tu peux changer ce qu'il y a dedans.
A savoir par copier coller tu mets dans ta "feuille1" le contenue de ta feuille qui s'appelle S18.
C'est pas le top mais ca dois marcher.

n°1460338
galopin01
Posté le 19-10-2006 à 11:27:24  profilanswer
 

bonjour,
ça doit pouvoir se faire comme ça (non vérifié)
 
Sub test()
On Error Resume Next
For Each ws In ActiveWorkbook.Worksheets
ws.Parent.VBProject.VBComponents(ws.CodeName).Properties("_CodeName" ) = "Sh" & i+1
i= i+1
Next ws
End Sub
 
A+

n°1460360
seniorpapo​u
Posté le 19-10-2006 à 11:38:44  profilanswer
 

Bonjour,
tu veux modifier le "CodeName" de la feuille :
Mais
CodeName, propriété
Voir aussi S'applique à Exemple Spécificités  
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.
 
Notes
Le nom de code d'un objet peut être utilisé à la place d'une expression qui renvoie l'objet. Par exemple, si le nom de code de la feuille de calcul 1 est « Sheet1 », les expressions suivantes sont identiques :
 
Worksheets(1).Range("a1" )
Sheet1.Range("a1" )
Une feuille peut avoir un nom différent du nom de code. Lorsque vous créez une feuille, le nom de feuille et le nom de code sont identiques, mais la modification du nom de feuille n'est pas répercutée sur le nom de code, de même que la modification du nom de code (à l'aide de la fenêtre Propriétés de Visual Basic Editor) n'est pas répercutée sur le nom de feuille.
 
Exemple
Cet exemple montre comment afficher le nom de code de la feuille de calcul 1.
 
MsgBox Worksheets(1).CodeName
 
On ne peut pas changer le code name sauf à la création de la feuille.
 
Une solution lourde serait , si vraiment c'est indispensable, de copier S18 dans feuill1  etc...
mais là je cale
 
Cependant la prise en compte en VBA se fait dans l'ordre des "onglets"
 
 
edit: après validation je viens de voir que galopin01 avait répondu .  
 
tu peux essayer et nous dire si cela fonctionne
 
Cordialement


Message édité par seniorpapou le 19-10-2006 à 11:42:16
n°1460789
galopin01
Posté le 19-10-2006 à 17:26:34  profilanswer
 

ça marche, je viens de tester...

n°1460848
seniorpapo​u
Posté le 19-10-2006 à 18:25:05  profilanswer
 

Bonsoir,
Je dois avoir un pb quelque part cela ne marche pas chez moi: cela tourne grâce au on error... mais les codes names ne sont pas changés. Une piste???
Merci

mood
Publicité
Posté le 19-10-2006 à 18:25:05  profilanswer
 

n°1460882
galopin01
Posté le 19-10-2006 à 18:50:23  profilanswer
 

Code à mettre dans un module standart (Module1...)

n°1460894
seniorpapo​u
Posté le 19-10-2006 à 19:03:58  profilanswer
 

Bonsoir,
j'avais essayé dans workbook et module1 sans succès.
mon help me dit que VBproject est ouvert en lecture seule
tant pis (c'était pour ajouter un neurone)
Cordialement

n°1460943
galopin01
Posté le 19-10-2006 à 20:46:47  profilanswer
 

bonsoir,
Je ne peux pas t'en dire plus : J'ai testé sur des classeurs standart, non partagés, tout simple...
Y faut voir... Si tu n'es pas propriétaire de l'ordi, de nombreux administrateurs de réseaux craignant sans doute qu'on leur bouffe la laine sur le dos brident souvent VBA plus ou moins partiellement...
Vérifie dans Outils / Propriété de VBA Project qu'il n'y a pas de protection sur l'affichage des propriétés.
Sinon on peut aussi passer par la fenêtre des propriétés pour renommer les modules ( y compris les modules de feuilles) un par un.
 
A+

n°1460974
seniorpapo​u
Posté le 19-10-2006 à 22:25:53  profilanswer
 

Bonne nuit,
c'était le "faire confiance au projet visual basic" qui n'était pas coché dans excel (outils->macro->sécurité)
merci pour les infos
Cordialement

n°1461051
syl06150
Posté le 20-10-2006 à 06:12:49  profilanswer
 

Merci a vous deux de votre aide.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Numérotation feuilles excel

 

Sujets relatifs
Question toute simple sur les arrays en VBA / ExcelRecherche multiple dans Excel
[Excel] Filtrer une colonne à partir d'une celluleExcel : convertisseur binaire
Help fonction personnalisée Excel 2003[VBA excel] Récupérer dans 1 listbox le resultat d'1 AutoFilter!résolu
utilise les "nom" excel dans une macro VBAExporter formulaire HTML en CSV pour Excel sans PHP
Enregistrer un fichie Excel en txt Pb "" et """" 
Plus de sujets relatifs à : Numérotation feuilles excel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR