Gestion des feuilles d'un classeur en vba [Résolu/Fermé]

Signaler
-
 Charlii -
Bonjour,
Je suis en train d'apprendre à utiliser le langage VBA sous excel, et mon problème est le suivant:
lorsque je créé une nouvelle feuille à un classeur, en faisant
Sheets.Add After:=Sheets(Sheets.Count)
je n'arrive pas à trouver la bonne référence de la feuille créés; en effet, la nouvelle feuille porte un numéro dépendant du nombre de feuille ayant été créées dans le classeur depuis sa création(même celles supprimées depuis), et non du nombre de feuilles restantes(Sheets.count).
Si quelqu'un pouvait m'aider ca serait vraiment sympa, je galère depuis un petit moment maintenant!!
Merci beaucoup

3 réponses


Bonjour,

Exemple type :

Option Explicit

Sub TravailFeuille()

    Dim Feuille As Worksheet
    Dim NomFle As String
    
    NomFle = "Test"
    
    Worksheets.Add.Name = NomFle
    Sheets(NomFle).Move After:=Sheets(Worksheets.Count)
    
    For Each Feuille In Worksheets
        MsgBox Feuille.Name
    Next Feuille
    
End Sub
'

Lupin
5
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
583
Date d'inscription
vendredi 27 juin 2008
Statut
Membre
Dernière intervention
22 juillet 2008
142
Salut,

Je n'ai pas de moyen de tester immédiatement mais pour moi il faut utiliser sheet.count() pour récupérer le nombre et ensuite travailler sur le sheet lui-même:

i = sheet.count()

et ensuite qqc du genre name = sheet[i].name

Ca ne marche pas vraiment, j'ai essayé différentes méthodes mais pour l'instant rien n'y fait...
Quand j'utilise la tienne il me dit qu'il y a une erreur de compilation:
i = Sheets.Count
Sheet [i].Select
Sheet [i].Name = NAME

Es tu sur que Sheet[] est autorisé?
Merci beaucoup!!