Bonjour j'ai un tableau où mes donnés on comme intitulé des mois sous le format "[$-40C]mmmm-yy;@". Or dans ce tableau je n'ai pas toujours le même nombre de mois. Et j'aimerais créer un tableau croisé dynamique.Donc pour construire mon tableau croisé dynamique J'ai le code suivant. Ce code gonctionne parfaitement quant les paramètres regionaux de mon ordinateurs sont configuré pour la france, mais si je les met pour les etats unis , j'ai un bug au niveau du code en rouge.
Je sais que cela vient du format de la date mais je ne sais pas comment le modifier.
Et il y aurait -il un moyen pour mettre le format de manière à cela fonctionne tout le temps?
Par exemple une fonction qui reconnaitrait le format et le recupérerait?
Je vous remercie pour votre aide
With ActiveSheet.PivotTables("Tableau croisé dynamique2")
'les types de projets en colonne
With .PivotFields("Project Type")
.Orientation = xlColumnField
.Position = 1
End With
' les noms des projets en donnée de page
With .PivotFields("Project Name")
.Orientation = xlPageField
.Position = 1
End With
'on rajoute les differents mois en données
Dim dte As Variant
If t_charge = 2 Then
For I = 8 To DerCol
mois = Format(Worksheets("Synt_charge").Cells(1, I).Value, "mmmm-yy") 'regarde le format
.AddDataField .PivotFields(mois), "Sum " & mois, xlSum
Next I
Else
For I = 8 To DerCol
mois = Format(Worksheets("Synt_charge2").Cells(1, I).Value, "mmmm-yy") 'regarde le format
.AddDataField .PivotFields(mois), "Sum " & mois, xlSum
Next I
End If
End With
Je sais que cela vient du format de la date mais je ne sais pas comment le modifier.
Et il y aurait -il un moyen pour mettre le format de manière à cela fonctionne tout le temps?
Par exemple une fonction qui reconnaitrait le format et le recupérerait?
Je vous remercie pour votre aide
With ActiveSheet.PivotTables("Tableau croisé dynamique2")
'les types de projets en colonne
With .PivotFields("Project Type")
.Orientation = xlColumnField
.Position = 1
End With
' les noms des projets en donnée de page
With .PivotFields("Project Name")
.Orientation = xlPageField
.Position = 1
End With
'on rajoute les differents mois en données
Dim dte As Variant
If t_charge = 2 Then
For I = 8 To DerCol
mois = Format(Worksheets("Synt_charge").Cells(1, I).Value, "mmmm-yy") 'regarde le format
.AddDataField .PivotFields(mois), "Sum " & mois, xlSum
Next I
Else
For I = 8 To DerCol
mois = Format(Worksheets("Synt_charge2").Cells(1, I).Value, "mmmm-yy") 'regarde le format
.AddDataField .PivotFields(mois), "Sum " & mois, xlSum
Next I
End If
End With