Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Utiliser CodeName des feuilles

cp4

XLDnaute Barbatruc
Bonjour,

J'utilise cette écriture pour mettre le Name des feuilles dans un Array pour effectuer une boucle.
Je ne parviens pas à utilser le CodeName.
VB:
Sub Essai_CodeName
Dim coll As Object
'BdA et BdB sont les noms des feuilles'
'Leur CodeName sont respectivement ShA et ShB'
Set coll = Sheets(Array("BdA", "BdB"))
'comment utiliser les codnames--> ShA et ShB '
MsgBox coll.count
End Sub

Avec mes remerciements anticipés.

Bonne journée.
 
Solution
Je te remercie.
Désolé, j'ai oublié que j'avais ouvert la même discussion.
@Dranreb et @patricktoulon (que je salue) m'avaient donné la solution.
Je me fais encore plus vieux. Pour le partage, code ci-dessous
VB:
Sub Essai_CodeName()
   Dim Wsh  '/!\ Attention! déclaré en variant sinon le code plante (dim Wsh as worksheet)
   'BdA et BdB sont les noms des feuilles'
   'Leur CodeName sont respectivement ShA et ShB'
   For Each Wsh In...

cp4

XLDnaute Barbatruc
Bonjour,
Vous ne pouvez pas utiliser le codename des feuilles du moins dans le code de votre exemple.
Vous devez utiliser les noms d'onglet dans ce type de code
Bonjour,

Merci pour votre réponse.
En laissant de côté mon exemple.
Quelle serait votre solution pour mettre les codenames dans une variable et l'utiliser pour faire une boucle.
 

Oneida

XLDnaute Impliqué
Re,
Vous pouvez mettre le code name avec ce type de code
Code:
Sub test()
    For n = 1 To Worksheets.Count
        wshn = Worksheets(1).CodeName
        If wshn = "Toto" Then
            'code
        End If
    Next n
End Sub
Serait plus simple d'utiliser les noms d'onglet
 

cp4

XLDnaute Barbatruc
Je te remercie.
Désolé, j'ai oublié que j'avais ouvert la même discussion.
@Dranreb et @patricktoulon (que je salue) m'avaient donné la solution.
Je me fais encore plus vieux. Pour le partage, code ci-dessous
VB:
Sub Essai_CodeName()
   Dim Wsh  '/!\ Attention! déclaré en variant sinon le code plante (dim Wsh as worksheet)
   'BdA et BdB sont les noms des feuilles'
   'Leur CodeName sont respectivement ShA et ShB'
   For Each Wsh In Array(ShA, ShB)
      With Wsh
         MsgBox .Name   'ici pour exécuter un code
      End With
   Next
End Sub

Encore merci. Bonne journée.
 

DoubleZero

XLDnaute Barbatruc
Bonjour à toutes et à tous,

Si j'ai bien compris la demande (code dont je ne sais plus la merveille réponse) :

Code:
Sub Codename_égale_nom_des_onglets()
With Application: .ScreenUpdating = False: .Calculation = xlManual: .EnableEvents = False: End With
Dim o As Worksheet
On Error Resume Next
For Each o In Worksheets
o.Activate
ActiveWorkbook.VBProject.VBComponents(ActiveSheet.Codename).Name = ActiveSheet.Name
Next
On Error GoTo 0
With Application: .EnableEvents = True: .Calculation = xlAutomatic: .ScreenUpdating = True: End With
End Sub

A bientôt,

 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…