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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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.)
 
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+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
1
Affichages
709
Retour