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

TCD en VBA - pb code sur fichier source (XLdown)

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 !

zebanx

XLDnaute Accro
Bonjour,

Je cherche à créer automatiquement un TCD à partir d'un fichier source qui commencera systématiquement à la ligne 4 sur 11 colonnes mais dont le nombre de lignes n'est pas figé.
J'ai essayé sur tabord2 mais le code ne fonctionne pas (but = obtenir résultats de tabord1 qui lui fonctionne).

Pourriez-vous m'aider à rendre dynamique ce nombre de lignes s'il vous plait ?

Vous en remerciant par avance, cordialement
thierry
 

Pièces jointes

Re : TCD en VBA - pb code sur fichier source (XLdown)

Bonjour Thierry et speel,
1/récupérer le nb de lignes(Vnblignes) de ton tableau (de données brutes)
2/Suprimer ton ancien TCD
3/En refaire un en mettant ta variable Vnblignes dedans à la place du num de ligne de l'ancien TCD :

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"fichier!R4C1:R45C11", Version:=xlPivotTableVersion10).CreatePivotTable _
TableDestination:="Feuil1!R1C1", TableName:="Tableau croisé dynamique4", _
DefaultVersion:=xlPivotTableVersion10

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"fichier!R4C1:R" & Vnblignes +4 & "C11", Version:=xlPivotTableVersion10).CreatePivotTable _
TableDestination:="Feuil1!R1C1", TableName:="Tableau croisé dynamique4", _
DefaultVersion:=xlPivotTableVersion10

Cdt
Frédéric
 
Re : TCD en VBA - pb code sur fichier source (XLdown)

Bonjour à tous

Pour ma part j'utilise une procédure que j'ai appelée miseajourtcd
Les tcd sont créés une première fois comme souhaités.
le nombre de ligne de la source change en fonction de ton travail.
Cette procédure va mettre à jour tous les tcd présent dans la feuille
Peut-être cela pourras t'il servir.
'Mise à jour de tous les TCD de la page TCD
Sub miseajourTcd(feuille)

'Set zone = Sheets("travail").UsedRange
'Adresse = zone.AddressLocal(ReferenceStyle:=xlR1C1)
With Sheets(feuille)
For Each i In .PivotTables
s = i.SourceData
fdonnées = Left(s, InStr(s, "!") - 1)
debad = Left(s, InStrRev(s, "L"))
finad = Right(s, Len(s) - InStrRev(s, "C") + 1)
l = Fdernièreligne(fdonnées, 1)
i.SourceData = debad & l & finad
i.RefreshTable
Next
End With
End Sub
 
Re : TCD en VBA - pb code sur fichier source (XLdown)

Merci à tous les trois pour votre réponse !

@fredl - cette solution me parait super mais il y a une erreur 439 sur le subFredl() recopié (module 2).

@sousou- excellent aussi il ne doit pas y avoir des masses de corrections mais je bug encore (module 3)
J'ai changé les noms des onglets du fichier source et du fichier où il y la tcd.

Si vous pouviez m'aider dans ces corrections des deux codes, ce serait top.

Merci par avance. Bon apm.


PS : des lignes ont été rajoutées par erreur pour tester, on reste dans un champ variable "row" non défini avec 11 colonnes fixes qui ne bougeront pas.
 

Pièces jointes

Dernière édition:
Re : TCD en VBA - pb code sur fichier source (XLdown)

Re
Bon deux choses
J'avais oublié de te passer une fonction utilisée qui s'appelle fdernièreligne(fdb,col)
Elle sert à connaître la dernière ligne de ta base de données.

Pour utilisé miseajourtcd(feuille)
Il faut l'appelé avec un call et lui passer le nom de la feuille en référence.
Ce que je fait dans le fichier joint sur l'activation de la feuille TCD1
Vérifie tous cela en fonctionnement normal
Ajoute ou retir des lignes pour voir si c'est ok
 

Pièces jointes

Re : TCD en VBA - pb code sur fichier source (XLdown)

Bonjour,

Je vous remercie tous les deux pour votre rapidité et le temps passé pour m'aider dans cette recherche.

@Fredl : il y un problème "438" qui empêche la macro de s'exécuter correctement

@sousou : ça fonctionne très bien. Je vais donc passer par cette méthode.

Un grand merci, je vais relire avec attentions vos codes.

Bonne fin de de journée à tous les deux.

thierry
 
- 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
Microsoft 365 macro TCD
Réponses
4
Affichages
344
Réponses
32
Affichages
2 K
  • Question Question
Réponses
7
Affichages
308
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…