Source d'un TBC variable

Signaler
Messages postés
4
Date d'inscription
mardi 12 août 2014
Statut
Membre
Dernière intervention
12 août 2014
-
Messages postés
15441
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
27 janvier 2021
-
Bonjour,

Dans un classeur Excel 2007 j'ai une feuille par mois avec une présentation et une plage de données identiques et une dizaine de TCD (Aout!$A$1:$V$300) par exemple.
Je souhaite remplacer le nom de l'onglet par une variable correspondant au nom de l'onglet du type (Onglet()!$A$1:$V$300) afin d'automatiser la duplication des feuilles de mois en mois.
Comment puis-je procéder car je parviens à déterminer le nom de l'onglet mais pas à l'insérer dans la définition de la plage.

Merci de votre aide.
Laurent

6 réponses

Messages postés
15441
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
27 janvier 2021
503
Bonjour quelle version de VB?
VB.Net, VBA, VBScript, VB6?

Messages postés
4
Date d'inscription
mardi 12 août 2014
Statut
Membre
Dernière intervention
12 août 2014

VB 6.3
Messages postés
15441
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
27 janvier 2021
503
Message déplacé dans la catégorie VB6, merci d'y faire attention la prochaine fois.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
233
Déplacé vers VBA (Visual Basic 6.3)
Messages postés
15441
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
27 janvier 2021
503
Au temps pour moi
Messages postés
31214
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 janvier 2021
342
Bonjour,

je parviens à déterminer le nom de l'onglet mais pas à l'insérer dans la définition de la plage.
Et comment as tu essayé de le mettre ?

Sans voir ton code... difficile pour nous de t'aider..


Messages postés
4
Date d'inscription
mardi 12 août 2014
Statut
Membre
Dernière intervention
12 août 2014

Bonjour,

Voici ma tentative qui provoque une erreur 1004 impossible d'ouvrir le fichier source... :
"mois""&!R1C1:R300C21"


et j'ai trouvé la bonne formule :
Sub New_Mois()

'Copie de la zone du TBC
    Dim mois As Variant
    mois = ActiveWorkbook.ActiveSheet.Name
    
    Range("E317").Select
    ActiveSheet.PivotTableWizard SourceType:=xlDatabase, SourceData:= _
        mois & "!R1C1:R300C21"
Messages postés
31214
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 janvier 2021
342
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code



Bonjour,
Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)

Cordialement,
Jordane
Messages postés
4
Date d'inscription
mardi 12 août 2014
Statut
Membre
Dernière intervention
12 août 2014

Cette étape étant passée, peut on indexer la source d'un TBC avec le nom de l'onglet comme évoqué dans le sujet de départ avec une formule type : Onglet()!$A$1:$V$300 sans passer par de la programmation ?

Mais là je sors peut être du contexte de la catégorie.

Laurent
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
233
Bonjour,
ONGLET n'est pas un objet de l'application VBA
Un objet a des membres
Existe la collection Worksheets qui contient les feuilles (pas les "onglets") de l'application
L'objet worksheets("toto") est un objet : l'objet worksheet qui est la feuille nommée toto.
Un objet worksheet contient lui-même des objets, dont les objets Range (plage)
On se réfère à l'objet2 d'un objet1 par la notation objet1.objet2
Veux-tu maintenant bien ouvrir ton aide VBA sur le mot Range (Range, Objet).
Tu y verras comment de référer à un objet Range d'un objet Worksheet.
Reviens après cette lecture, si encore en difficulté, en montrant ce que tu as écrit sur la base de cette lecture.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend