noms d'une feuille : obtenir name à partir de codename

  • Initiateur de la discussion Initiateur de la discussion dmc
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

dmc

XLDnaute Occasionnel
Bonjour à tous les XLDiens.
Je bute sur un truc à priori idiot : j'ai le codename de la feuille, je n'arrive pas à obtenir son name (ou le contraire, à force de buter là-dessus, je commence à confondre !).
Dans tous les cas, ayant l'un il doit bien avoir un moyen de connaitre l'autre.
Voici ma macro, chargée de placer du code dans des feuilles et dans un module standard sur un classeur, mais selon 1 critère : que le nom de la feuille enrichie contienne la séquence de caractères passée dans le paramètre "modele_is".
Code:
 Private Function macro_insert(ma_place As String, File_Is As String, Modele_Is As String)

Dim ma_macro_is As String
Dim VBComp As Object
Dim wBComp As Object
Dim X As Integer
    ma_macro_is = ThisWorkbook.Name
    Workbooks.Open Filename:=ma_place & File_Is
    Sheets(1).Activate
    ' insertion des macros
    'boucler sur chaque module du nouveau classeur (ThisWorkbook + Feuilles + Modules + UserForms + Modules de classe)
    For Each VBComp In Workbooks(File_Is).VBProject.VBComponents
        Select Case VBComp.Type
        Case 1          ' vbext_ct_StdModule                 ' 1
            ' I = VBComp.CodeModule.CountOfDeclarationLines + 1
            X = VBComp.CodeModule.CountOfLines
            If X > 0 Then Workbooks(File_Is).VBProject.VBComponents.Remove VBComp
        Case 100        'vbext_ct_Document    ' 100   (And vbComp.Name = CodeNouvFeuille)
        'si il s'agit d'un module de type Feuille
            'copier le code contenu dans le Module "Module2" de ce classeur
            ' uniquement si modules de feuilles tarifs
            zz = Worksheets(Modele_Is).CodeName
            zz2 = Worksheets(Modele_Is).Name
            [B][COLOR="red"]'If InStr(1, VBComp.Name, Modele_Is, vbTextCompare) > 0 Then[/COLOR][/B]  <----- c'est cette ligne que je veux mettre au point !!!
                With Workbooks(ma_macro_is).VBProject.VBComponents("Module2").CodeModule
                    If VBComp.CodeModule.CountOfLines > 0 Then 'enlever le code déjà existant
                        VBComp.CodeModule.DeleteLines 1, VBComp.CodeModule.CountOfLines
                    End If
                    VBComp.CodeModule.AddFromString .Lines(1, .CountOfLines)
                End With
            'End If
        End Select
    Next VBComp
    'Ajoute un module standard dans le classeur
    Set wBComp = Workbooks(File_Is).VBProject.VBComponents.Add(1)
    'Renomme le module
    'wBComp.Name = "ModuleFonctions"
    With Workbooks(ma_macro_is).VBProject.VBComponents("Module3").CodeModule
        wBComp.CodeModule.AddFromString .Lines(1, .CountOfLines)
    End With
  Workbooks(File_Is).SaveAs ma_place & Left(File_Is, InStr(1, File_Is, ".xls") - 1) & ".xls", xlNormal
    ActiveWorkbook.Close
 End Function

Alors si vous avez un moment, une envie, une curiosité, que vous n'êtes pas trop ballonné par le précédent reveillon, pas encore absorbé par celui qui s'approche, bref si vous avez le virus xldien, sautez sur cette occasion et sortez moi de là, cela fera 2 heureux, dont surtout moi, bien sur !
Amicalement
DMC
 
Re : noms d'une feuille : obtenir name à partir de codename

Bonsoir,

regarde ceci si cela peut t'aider...
Code:
'nom de la feuille a partir du codename
MsgBox Feuil1.Name
'codename de la feuille a partir du nom
MsgBox Sheets("Feuil1").CodeName
bonne soirée
@+
 
Re : noms d'une feuille : obtenir name à partir de codename

Bonsoir Pierrot93, et merci de cette réponse si rapide.
Néanmoins, la syntaxe Sheets("Feuil1").CodeName plante (erreur d'indice), donc je n'ai pas encore la solution.
Merci quand même, si tu as une autre idée , je prends .
Amicalement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Réponses
7
Affichages
324
Réponses
3
Affichages
672
Réponses
3
Affichages
582
Retour