Réalisation d'un TCD via une macro
Fermé
Mika
-
3 janv. 2022 à 20:25
yg_be Messages postés 23350 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 novembre 2024 - 5 janv. 2022 à 22:50
yg_be Messages postés 23350 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 novembre 2024 - 5 janv. 2022 à 22:50
A voir également:
- Réalisation d'un TCD via une macro
- Tcd excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Partager des photos via un lien - Guide
- Communication impossible via ssl ps4 - Forum Jeux vidéo
6 réponses
yg_be
Messages postés
23350
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 novembre 2024
Ambassadeur
1 554
3 janv. 2022 à 20:34
3 janv. 2022 à 20:34
bonjour,
quand tu montres du code, il est préférable de montrer le code complet, et d'utiliser les balises de code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
as-tu utilisé l'enregistreur de macros?
quand tu montres du code, il est préférable de montrer le code complet, et d'utiliser les balises de code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
as-tu utilisé l'enregistreur de macros?
Je suis novice en excel et je ne sais pas comment te montrer tout le code avec la balise de code https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
J'ai utilisé en effet l'enregistreur de macro. Je vais aller voir le lien hypertexte que tu viens de m'envoyer sur ton message.
Je peux t'envoyer le fichier aussi. bien à toi
J'ai utilisé en effet l'enregistreur de macro. Je vais aller voir le lien hypertexte que tu viens de m'envoyer sur ton message.
Je peux t'envoyer le fichier aussi. bien à toi
voici mon code pour la macro complète qui ne fonctionne pas lorsque je l'active pour l'exécuter.
l'erreur apparait à la ligne ActiveWorkbook.pivotCaches ......... lorsque je passe par le débogage
l'erreur apparait à la ligne ActiveWorkbook.pivotCaches ......... lorsque je passe par le débogage
Sub Macro12() ' ' Macro12 Macro ' ' Application.CutCopyMode = False Application.CutCopyMode = False ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ "NB Heures OC par Chantier!R1C1:R56C4", Version:=7).CreatePivotTable _ TableDestination:="NB Heures OC par Chantier!R1C10", TableName:= _ "Tableau croisé dynamique14", DefaultVersion:=7 Sheets("NB Heures OC par Chantier").Select Cells(1, 10).Select With ActiveSheet.PivotTables("Tableau croisé dynamique14") .ColumnGrand = True .HasAutoFormat = True .DisplayErrorString = False .DisplayNullString = True .EnableDrilldown = True .ErrorString = "" .MergeLabels = False .NullString = "" .PageFieldOrder = 2 .PageFieldWrapCount = 0 .PreserveFormatting = True .RowGrand = True .SaveData = True .PrintTitles = False .RepeatItemsOnEachPrintedPage = True .TotalsAnnotation = False .CompactRowIndent = 1 .InGridDropZones = False .DisplayFieldCaptions = True .DisplayMemberPropertyTooltips = False .DisplayContextTooltips = True .ShowDrillIndicators = True .PrintDrillIndicators = False .AllowMultipleFilters = False .SortUsingCustomLists = True .FieldListSortAscending = False .ShowValuesRow = False .CalculatedMembersInFilters = False .RowAxisLayout xlCompactRow End With With ActiveSheet.PivotTables("Tableau croisé dynamique14").PivotCache .RefreshOnFileOpen = False .MissingItemsLimit = xlMissingItemsDefault End With ActiveSheet.PivotTables("Tableau croisé dynamique14").RepeatAllLabels _ xlRepeatLabels ActiveWorkbook.ShowPivotTableFieldList = True With ActiveSheet.PivotTables("Tableau croisé dynamique14").PivotFields( _ "Formateur Titulaire") .Orientation = xlRowField .Position = 1 End With ActiveSheet.PivotTables("Tableau croisé dynamique14").AddDataField ActiveSheet. _ PivotTables("Tableau croisé dynamique14").PivotFields( _ "Nbr H" & Chr(10) & "Formateur" & Chr(10) & "Titulaire"), "Nombre de Nbr H" & Chr(10) & "Formateur" & Chr(10) & "Titulaire", xlCount With ActiveSheet.PivotTables("Tableau croisé dynamique14").PivotFields( _ "Nom CHANTIER") .Orientation = xlColumnField .Position = 1 End With With ActiveSheet.PivotTables("Tableau croisé dynamique14").PivotFields( _ "Nombre de Nbr H" & Chr(10) & "Formateur" & Chr(10) & "Titulaire") .Caption = "Somme de Nbr H" .Function = xlSum End With Selection.CurrentRegion.Select Selection.NumberFormat = "[h]:mm" End Sub
yg_be
Messages postés
23350
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 novembre 2024
1 554
4 janv. 2022 à 12:15
4 janv. 2022 à 12:15
Tu expliques peu.
Tu as mis en route l'enregistreur de macros,
tu as créé manuellement un TCD,
puis tu as arrêté l'enregistreur de macros?
C'est bien cela?
Ensuite, tu as supprimé le TCD créé, puis exécuté la macro?
C'est bien cela?
Tu as mis en route l'enregistreur de macros,
tu as créé manuellement un TCD,
puis tu as arrêté l'enregistreur de macros?
C'est bien cela?
Ensuite, tu as supprimé le TCD créé, puis exécuté la macro?
C'est bien cela?
Mika
>
yg_be
Messages postés
23350
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 novembre 2024
Modifié le 4 janv. 2022 à 20:40
Modifié le 4 janv. 2022 à 20:40
Tout à fait c'est ce que j'ai fais. J'ai lancé l'enregistreur de macro et réalisé ce que je voulais avoir comme TCD puis j'ai arrêté la macro. Là j'ai eu mon résultat escompté donc parfait. Ensuite j'ai effacé le tableau TCD ( que j'ai réalisé sur la même feuille que les données qui m'ont permis de faire le tcd). J'ai relancé la macro pour essayer d'avoir le TCD et c'est là que la macro se plante royalement sur la ligne de code ActiveWorkBook.PivotCaches.Create .........
yg_be
Messages postés
23350
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 novembre 2024
1 554
>
Mika
4 janv. 2022 à 21:52
4 janv. 2022 à 21:52
Ma première hypothèse, c'est que le TCD n'avait pas été supprimé.
Peux-tu partager ton fichier?
Peux-tu partager ton fichier?
Comment fait t'on pour partager le fichier?
yg_be
Messages postés
23350
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 novembre 2024
1 554
5 janv. 2022 à 16:01
5 janv. 2022 à 16:01
Tu publies ton fichier sur Internet (google drive, cjoint.com, ...), et tu partages ici un lien vers le fichier.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
https://docs.google.com/spreadsheets/d/1MqzXN1zyL3LABQx5bZqjNjJLX2XY0WyH/edit?usp=sharing&ouid=113444901287396211353&rtpof=true&sd=true
yg_be
Messages postés
23350
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 novembre 2024
1 554
5 janv. 2022 à 16:22
5 janv. 2022 à 16:22
le fichier n'est pas public.
et maintenant ? je viens de l'autoriser à toute personne qui a le lien
yg_be
Messages postés
23350
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 novembre 2024
1 554
5 janv. 2022 à 22:43
5 janv. 2022 à 22:43
c'est bon, merci
yg_be
Messages postés
23350
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 novembre 2024
1 554
>
yg_be
Messages postés
23350
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 novembre 2024
5 janv. 2022 à 22:50
5 janv. 2022 à 22:50
ceci semble mieux fonctionner:
Dim destrg As Range Set destrg = Sheets("NB Heures OC par Chantier").Cells(1, 10) Application.CutCopyMode = False Application.CutCopyMode = False ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ "NB Heures OC par Chantier!R1C1:R56C4", Version:=7).CreatePivotTable _ TableDestination:=destrg, TableName:= _ "Tableau croisé dynamique14", DefaultVersion:=7