Créer un TCD à partir d'une base de données évolutive
ti_mouton
Messages postés
153
Statut
Membre
-
ti_mouton Messages postés 153 Statut Membre -
ti_mouton Messages postés 153 Statut Membre -
Bonjour,
Je cherche un code VBA qui me permette de créer un TCD à partir d'une base de données qui est évolutive (le nombre de ligne et de colonne n'est pas fixe). Ma base de données est en feuille 1 et commence en cellule B6. Mon TCD doit être créé en feuille 2 en cellule B3.
J'ai trouvé sur différents forum des tuto pour créer un TCD à partir d'une base fixe, mais je n'ai pas assez de connaissance en VBA pour l'adapter à une base évolutive.
Merci pour votre aide !
Je cherche un code VBA qui me permette de créer un TCD à partir d'une base de données qui est évolutive (le nombre de ligne et de colonne n'est pas fixe). Ma base de données est en feuille 1 et commence en cellule B6. Mon TCD doit être créé en feuille 2 en cellule B3.
J'ai trouvé sur différents forum des tuto pour créer un TCD à partir d'une base fixe, mais je n'ai pas assez de connaissance en VBA pour l'adapter à une base évolutive.
Merci pour votre aide !
A voir également:
- Créer un TCD à partir d'une base de données évolutive
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Créer un compte google - Guide
- Créer une icone à partir d'une image - Guide
- Créer un compte gmail - Guide
- Creer un fichier .bat - Guide
3 réponses
Bonsoir
Voici une idée
https://www.cjoint.com/c/EGwrc1VVWdw
Le principe, chaque fois que vous cliquerez sur le bouton "Créer TCD", le programme supprime le TCD existant(si il existe) et en créer un nouveau.
A adapter à votre fichier
Cdlt
Voici une idée
https://www.cjoint.com/c/EGwrc1VVWdw
Le principe, chaque fois que vous cliquerez sur le bouton "Créer TCD", le programme supprime le TCD existant(si il existe) et en créer un nouveau.
A adapter à votre fichier
Cdlt
Bonjour,
Je cherche à réutiliser ce code qui fonctionnait très bien pour l'adapter à un autre fichier mais je rencontre un blocage.
VBA m'indique une erreur à ce niveau du code
"erreur definie par l'application ou par l'objet"
Une idée pour m'aider ?
Merci :)
Je cherche à réutiliser ce code qui fonctionnait très bien pour l'adapter à un autre fichier mais je rencontre un blocage.
Sub CreerTCD1()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error GoTo GestionErreur
Sheets("globalJANVIER").Select
LigDeb = 1
DerLig = [A100000].End(xlUp).Row
ColDeb = 1
DerCol = [C1].End(xlToLeft).Column
Set DonneesSource = Range(Cells(LigDeb, ColDeb), Cells(DerLig, DerCol))
If Not Sheets("JANVIER") Is Nothing Then SupprimerLeTCDTRANSPORTEURS
CreationTCD:
Sheets("JANVIER").Tab.ColorIndex = 40
'utiliser l'enregistreur de macro pour la suite, puis coller ci-dessous
'puis dans la première ligne, remplacer les termes suivants par exemple:"SourceData:=B6:G30" par "SourceData:=DonneesSource"
'**********************************************************************************************************************************
Range("B2").Select
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
DonneesSource, Version:=xlPivotTableVersion15). _
CreatePivotTable TableDestination:="JANVIER!R2C2", TableName:= _
"LeTCDTRANSPORTEURS", DefaultVersion:=xlPivotTableVersion15
With ActiveSheet.PivotTables("LeTCDTRANSPORTEURS").PivotFields( _
"Transporteurs")
.Orientation = xlRowField
.Position = 1
End With
ActiveSheet.PivotTables("LeTCDTRANSPORTEURS").AddDataField ActiveSheet. _
PivotTables("LeTCDTRANSPORTEURS").PivotFields( _
"Somme de Nombre de transport"), "Somme de Somme de Nombre de transport", xlSum
ActiveSheet.PivotTables("LeTCDTRANSPORTEURS").AddDataField ActiveSheet. _
PivotTables("LeTCDTRANSPORTEURS").PivotFields("Somme de Km Parcourus"), _
"Somme de Somme de Km Parcourus", xlSum
Range("C2").Select
ActiveSheet.PivotTables("LeTCDTRANSPORTEURS").DataPivotField.PivotItems( _
"Somme de Somme de Km Parcourus").Caption = "Km Parcourus"
Range("D2").Select
ActiveSheet.PivotTables("LeTCDTRANSPORTEURS").DataPivotField.PivotItems( _
"Somme de Somme de Nombre de transport").Caption = "Nombre de transport"
Range("B2").Select
ActiveSheet.PivotTables("LeTCDTRANSPORTEURS").CompactLayoutRowHeader = _
"Analyse Transports"
Range("B2").Select
'******************************************************************************************************************************************
Exit Sub
GestionErreur:
SupprimerLeTCDTRANSPORTEURS
On Error GoTo 0
On Error Resume Next
GoTo CreationTCD
End Sub
Sub SupprimerLeTCDTRANSPORTEURS()
On Error GoTo Sortie
Application.DisplayAlerts = False
With Sheets("JANVIER")
.Select
Set Plage = .Range(.Cells(2, 2), .Cells(.Cells(.Rows.Count, 2).End(xlUp).Row, 4))
Plage.Clear
End With
Sortie:
End Sub
VBA m'indique une erreur à ce niveau du code
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
DonneesSource, Version:=xlPivotTableVersion15). _
CreatePivotTable TableDestination:="JANVIER!R2C2", TableName:= _
"LeTCDTRANSPORTEURS", DefaultVersion:=xlPivotTableVersion15
"erreur definie par l'application ou par l'objet"
Une idée pour m'aider ?
Merci :)
Je viens d'utiliser ton lien qui a l'air de répondre parfaitement à mes attentes. J'ai cependant un petit blocage, peut être pourras tu m'aider...
Voici le code reprise dans ton fichier, que j'ai cherché à adapter au mien:
J'ai le message d'erreur suivant : Argument ou appel de procédure incorrect. Le débogage me surligne la partie suivante :
Une idée de ce que j'ai mal fait ?
merci pour ton aide