Tableau croisé

  • Initiateur de la discussion IMBERT
  • Date de début
I

IMBERT

Guest
Je cherche à sélectionner les données utiles à mon table croisé, à partir d'une date choisie par l'utilisateur. J'ai réussi à identifier la ligne correspondant à la date choisi par contre la concaténation de ces éléments m'est refusée dans le champ sélection des données du tableau croisé.
extrait de la macro
Dim DateTrait As Date
Dim DateTraitInt As Variant
Dim DateOrig As Date
Dim DateOrigInt As Variant
Dim Ligne As Variant

Sheets("GL Global").Select
DateTrait = InputBox _
("Veuillez entrer la date de la journée à traiter. ", _
"Date du Tableau de Bord")
DateOrig = DateTrait - 14
DateTraitInt = DateTrait
DateOrigInt = DateOrig

Ligne = Sheets("Recueil Données GL").Cells.Find(What:=DateTrait, After:=ActiveCell, _
LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Address
Ligne = Range(Ligne).Row

Sheets.Add.Name = "Mise en Forme des Données"
ActiveWorkbook.PivotCaches.Add _
(SourceType:=xlDatabase, _
SourceData:="Recueil Données GL!R1C1:R" & Ligne & "C14") _
CreatePivotTable TableDestination:=Range _
("A3"), TableName:="QuinzaineAXEGL"
Auriez vous une astuce pour y parvenir ? Merci
 
I

IMBERT

Guest
Bonjour,
La manipulation en réponse @mail n'avait pas dû correctement fonctionner.
Voici un nouvel exemple de fichier.
Merci de votre contibution et A+
 

Pièces jointes

  • TableauCrois.ZIP
    33.8 KB · Affichages: 24
I

IMBERT

Guest
Bonjour,
Ne cherchez plus j'ai réussi en créant une variable PlageDonnéesJour String à me sortir de ce mauvais pas. Le nouveau code donne ceci :
Dim DateTrait As Date
Dim DateTraitInt As Variant
Dim DateOrig As Date
Dim DateOrigInt As Variant
Dim Ligne As Variant
Dim PlageDonnéesJour As String


Sheets("GL Global").Select
DateTrait = InputBox _
("Veuillez entrer la date de la journée à traiter. ", _
"Date du Tableau de Bord")
DateOrig = DateTrait - 14
DateTraitInt = DateTrait
DateOrigInt = DateOrig

Ligne = Sheets("Recueil Données GL").Cells.Find(What:=DateTrait, After:=ActiveCell, _
LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Address
Ligne = Range(Ligne).Row
PlageDonnéesJour = "Recueil Données GL!R1C1:R" & Trim(Str(Ligne)) & "C14"
Sheets.Add.Name = "Mise en Forme des Données"

ActiveWorkbook.PivotCaches.Add _
(SourceType:=xlDatabase, _
SourceData:=PlageDonnéesJour). _
CreatePivotTable TableDestination:=Range _
("A3"), TableName:="QuinzaineAXEGL"

Merci à tous et A+, (car décrouvant un peu le VBA Excel je pense avoir d'autre petits soucis dans mon développement.)
 
I

IMBERT

Guest
Attention,
Pour éviter de se retrouver avec une référence invalide erreur 1004, il faut après avoir créer la feuille recevant le tableau croisé ajouter la ligne suivante:

Application.ReferenceStyle = xlA1


A+
 

Discussions similaires

Statistiques des forums

Discussions
312 088
Messages
2 085 199
Membres
102 816
dernier inscrit
bolivier