Changer la source des TCD avec macro vba Excel
Fermé
Sam2021
-
9 févr. 2021 à 15:13
yg_be Messages postés 23480 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 3 mars 2025 - 26 mars 2021 à 15:11
yg_be Messages postés 23480 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 3 mars 2025 - 26 mars 2021 à 15:11
A voir également:
- Vba excel tableau croisé dynamique source variable
- Tableau croisé dynamique - Guide
- Trier tableau excel - Guide
- Tableau word - Guide
- Tableau ascii - Guide
- Liste déroulante excel - Guide
7 réponses
yg_be
Messages postés
23480
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 mars 2025
Ambassadeur
1 568
9 févr. 2021 à 15:45
9 févr. 2021 à 15:45
bonjour,
le fichier source des données est-il dans le même dossier que le fichier contenant la macro?
si oui, peut-être:
le fichier source des données est-il dans le même dossier que le fichier contenant la macro?
si oui, peut-être:
ActiveSheet.PivotTables("Tableau croisé dynamique2").ChangePivotCache _ ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, _ SourceData:= _ ThisWorkbook.Path + "\[" + cstr(cell.Value) + ".xlsx]Feuil1!C1:C27" _ , Version:=6)
bonjour
je suis désolée pour le temps de réponse...
cela fonctionne super je vous remercie
serait il possible au lieu de Feuil1!C1:C27" d'indiquer de sélectionner jusqu'à la dernière cellule non vide ?
Cordialement
Sandie
je suis désolée pour le temps de réponse...
cela fonctionne super je vous remercie
serait il possible au lieu de Feuil1!C1:C27" d'indiquer de sélectionner jusqu'à la dernière cellule non vide ?
Cordialement
Sandie
yg_be
Messages postés
23480
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 mars 2025
1 568
26 févr. 2021 à 17:25
26 févr. 2021 à 17:25
as-tu essayé C:C au lieu de C1:C27?
c1:c27 correspond à la colonne A à AA (27 colones). C:C ne va pas m'aider car je souhaite que la sélection soit faite de A1 jusqu'à AA avec dernière lignes non vides.
Est ce que cela est plus clair ? Quelqu'un peut il m'aider ?
Est ce que cela est plus clair ? Quelqu'un peut il m'aider ?
yg_be
Messages postés
23480
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 mars 2025
1 568
5 mars 2021 à 11:56
5 mars 2021 à 11:56
la pivot table prend en compte les lignes vides?
Sam21
>
yg_be
Messages postés
23480
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 mars 2025
5 mars 2021 à 13:59
5 mars 2021 à 13:59
oui et je ne veux pas
yg_be
Messages postés
23480
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 mars 2025
1 568
>
Sam21
5 mars 2021 à 14:27
5 mars 2021 à 14:27
n'est-ce pas une option du TCD?
Sam21
>
yg_be
Messages postés
23480
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 mars 2025
5 mars 2021 à 14:49
5 mars 2021 à 14:49
non cela ne fonctionne pas pour les lignes.
je me disais de sélectionner tant que cellule non vide par une boucle
je me disais de sélectionner tant que cellule non vide par une boucle
yg_be
Messages postés
23480
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 mars 2025
1 568
>
Sam21
5 mars 2021 à 18:40
5 mars 2021 à 18:40
peux-tu partager ton fichier?
le fichier est trop volumineux
j'ai fais ceci mais cela me met erreur de compilation depuis la ligne Activesheet.pivottable. où est mon erreur ?
j'ai fais ceci mais cela me met erreur de compilation depuis la ligne Activesheet.pivottable. où est mon erreur ?
Workbooks(cell.Value & ".xlsx").Activate
Dim derniereLigne As Long,
derniereLigne = Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
MsgBox derniereLigne
Workbooks(cell.Value & ".xlsx").Sheets("Montant par service").Select
ActiveSheet.PivotTables("Tableau croisé dynamique2").ChangePivotCache _
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, _
SourceData:= _
ThisWorkbook.Path + "\[" + CStr(cell.Value) + ".xlsx]Feuil1("A1:AA" & derniereLigne)"
, Version:=6)
yg_be
Messages postés
23480
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 mars 2025
1 568
9 mars 2021 à 15:28
9 mars 2021 à 15:28
".xlsx]Feuil1!A1:AA" & derniereLigne
yg_be
Messages postés
23480
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 mars 2025
1 568
9 mars 2021 à 15:59
9 mars 2021 à 15:59
réduis alors la taille de ton fichier, de façon à ce que le problème soit toujours présent.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
A1:AA n'a pas l'air de convenir. j'ai donc essayé ceci
mais j'ai un code erreur la référence n'est pas valide
Workbooks(cell.Value & ".xlsx").Activate
Dim derniereLigne As Long, donnees As Worksheet
derniereLigne = Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
MsgBox derniereLigne
Workbooks(cell.Value & ".xlsx").Sheets("Montant par service").Select
ActiveSheet.PivotTables("Tableau croisé dynamique2").ChangePivotCache _
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, _
SourceData:= _
ThisWorkbook.Path + "\[" + CStr(cell.Value) + ".xlsx]Feuil1!R1C1:R & derniereLigne & C27" _
, Version:=6)
mais j'ai un code erreur la référence n'est pas valide
yg_be
Messages postés
23480
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 mars 2025
1 568
>
Sam21
12 mars 2021 à 12:10
12 mars 2021 à 12:10
montre ton code, en utilisant les balises de code (https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code, et indique à quelle ligne se produit l'erreur.
voici mon code :
l'erreur se produit à partir de Activesheet.pivotTables
Je vous remercie
Workbooks(cell.Value & ".xlsx").Activate
Dim derniereLigne As Integer
derniereLigne = Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
Workbooks(cell.Value & ".xlsx").Sheets("Montant par service").Select
ActiveSheet.PivotTables("Tableau croisé dynamique2").ChangePivotCache _
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, _
SourceData:= _
ThisWorkbook.Path + "\[" + CStr(cell.Value) + ".xlsx]Feuil1!R1C1:R & derniereLigne & C27" _
, Version:=6)
l'erreur se produit à partir de Activesheet.pivotTables
Je vous remercie
yg_be
Messages postés
23480
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 mars 2025
1 568
15 mars 2021 à 16:35
15 mars 2021 à 16:35
je me demande si tu as appliqué ma suggestion du 9 mars 2021 à 15:28.
yg_be
Messages postés
23480
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 mars 2025
1 568
15 mars 2021 à 16:37
15 mars 2021 à 16:37
quand tu utilises les balises, choisi "basic" pour du VBA.
Sam21
>
yg_be
Messages postés
23480
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 mars 2025
16 mars 2021 à 09:51
16 mars 2021 à 09:51
oui j'avais essayé et ca ne marchais pas
yg_be
Messages postés
23480
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 mars 2025
1 568
>
Sam21
16 mars 2021 à 12:49
16 mars 2021 à 12:49
montre ce que tu avais essayé.
je ne comprends pas le code que tu partages, je ne vois pas comment le corriger.
explique peut-être ce que penses qu'il devrait faire.
je ne comprends pas le code que tu partages, je ne vois pas comment le corriger.
explique peut-être ce que penses qu'il devrait faire.
Sam21
>
yg_be
Messages postés
23480
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 mars 2025
26 mars 2021 à 14:19
26 mars 2021 à 14:19
je voudrais que mon code mon TCD ai pour source de donnée la dernière cellule vide de ma feuill1.