Macro excel erreur d'éxécution 5 [Fermé]

Signaler
-
 klaradoc -
Bonjour,

J'ai une erreur dans une macro excel, lors de la création d'un tableau croisé dynamique,
erreur d'éxecution '5'
Argument ou appel de procédure incorrect

A cet emplacement

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Feuil1!L1C1:L10C2", Version:=xlPivotTableVersion12).CreatePivotTable _
TableDestination:="Feuil1!L7C8", TableName:="Tableau croisé dynamique2", _
DefaultVersion:=xlPivotTableVersion12

Merci de votre aide

8 réponses

TROUVEEEEEEEER !

Je donne la réponse pour les curieux :)

C'est un probleme de langue ! je m'explique, mon excel est en Français, quand tu enregistre automatiquement un macro il note :
L2323C34343 mais la fonction attends R2323C34343

Il faut donc simplement remplacer L par R !

Merci encore de ton aide
9
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 64681 internautes nous ont dit merci ce mois-ci

C'est Con.....
Mais ça marche vraiment ce truc !!!!!!
Merci, ça me dépanne grave ^_^ !!!!!!!
Bonjour !

Je travail en agence et l'un de nos client nous a fait parvenir un fichier Excel avec macros pour une étude quantitative.
Lorsque je lance l'application j'obtient le même message d'erreur : "erreur d'éxecution '5'
Argument ou appel de procédure incorrect".
Comment avez vous fait pour changer la fonction ? (Je ne sais même pas où elle se trouve).

MErci de votre réponse
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 065
bonjour

N'aurais-tu pas mis ta macro dans une feuille au lieu d'un module ?
J'ai enregistré la macro dans "ce classeur", je ne sais pas comment faire pour l'enregistrer dans un module
Peux-tu m'expliquer stp ?
merci d'avance
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 065
bonjour

Regardes cette explication ici
Bon ça ne fonctionne pas mieux en créant la macro dans un module.
J'ai toujours le même message d'erreur. Erreur d'éxécution 5 - argument ou appel de procèdure incorrect
Merci de me dire comment faire une macro en exécutant un tableau croisé dynamique tout simple.
Bonjour à tous,

Cela fait plusieurs jours que je recherche une solution pour le même problème, c'est-à-dire "Erreur d'exécution 5 Argument ou appel de procédure incorrect".

Dans ma macro, je construit 4 TCD à parti d'un onglet "DATA".
Lorsque j'exécute le code une fois, tout se passe bien. Lorsque je relance l'exécution, l'erreur 5 arrive.
Pourtant, en pas à pas, il n'y a aucun problème, je peux relancer autant de fois que je veux. Pareil avec un point d'arrêt juste avant l'appel de la fonction de création des TCD.

Pouvez vous m'indiquer pourquoi cette erreur survient une fois sur 2?
Voici la partie du code qui plante:

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
Sheets("DATA").Range("A1").CurrentRegion).CreatePivotTable _
TableDestination:="[RO_OTD.xls]TCD!R4C1", _
TableName:="DFP Nombre"

Merci de votre aide!
Bonjour à tous,

J'ai le même problème avec une erreur 5 que je ne comprends pas malgré tous les forums que j'ai lus.
Je veux juste créer un tableau croisé dynamique dans la feuille "Volumes" du fichier "RA" à partir de la feuille d'à côté qui s'appelle "Sources - VOLUMES"...

Workbooks("RA.xls").PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"[RA.xls]Sources - VOLUMES!R3C1:R3550C18", Version:=xlPivotTableVersion15). _
CreatePivotTable TableDestination:="[RA.xls]Volumes!R3C2", TableName:= _
"TCD Volumes", DefaultVersion:=xlPivotTableVersion15
Bonjour,

désolé de réveillé ce sujet qui veilli mais j'ai besoin d'un coup de main dans le meme domaine

J'ai crée une macro en automatique.
Elle génère un tableau croisé dynamique.

Jusque la rien de bien méchant !

Cependant cette macro refuse de fonctionné et renvoi l'erreur d'éxécution 5 !

Voici le bout de mon code qui déconne :

database = ActiveSheet.Name & "!L" & ActiveCell.Column & "C" & ActiveCell.Row

destination = ActiveSheet.Name & "!L1C5:L1048576C22"
With ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        database).CreatePivotTable(TableDestination:=destination, _
        TableName:="Tableau croisé dynamique1", _
        DefaultVersion:=xlPivotTableVersion12)
End With


Pour faire simple ma macro parse un fichier, et j'ai besoin de faire un tableau juste apres! Le parsing ce passe très bien!
Dernier détail, les fichiers parsé on des "mise en page" identique mais de taille différente c'est pourquoi je "dynamise" le nom de l'onglet et l'emplacement du tableau croisé dynamique !!

j'ai vérifié par des message box, database et destination on les valeurs que je désir.

Merci d'avance pour votre aide !!
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 065
bonjour

database = ActiveSheet.Name & "!L" & ActiveCell.Column & "C" & ActiveCell.Row

Là il me semble que tu as mélangé la ligne dans la colonne et réciproquement ?

à mon avis, cela devrait mieux fonctionner ainsi :
destination = ActiveSheet.Name & "!L1C5"

Quand tu indiques la destination du tableau il ne faut donner que la position début car tu ne peux pas savoir la taille qu'il va occuper.
Merci pour ta réponse si rapide !

Déja tu as raison sur le faite que j'ai inversé ligne et colonne !!

J'ai besoin de petit complément pour la suite!

Déjà j'ai fais une erreur bête (comme toute les erreurs^^) !
J'ai inversé database et destination !
voici mon code en mieux^^
destination = ActiveSheet.Name & "!L" & ActiveCell.Row & "C" & ActiveCell.Column
database = ActiveSheet.Name & "!L1C5:L1048576C22"

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        database, Version:=xlPivotTableVersion12).CreatePivotTable _
        TableDestination:=destination, TableName:="Tableau croisé dynamique1", _
        DefaultVersion:=xlPivotTableVersion12


database doit avoir le : nom de la feuille ! ligne et colonne de début et de fin de colonne utile pour le TCD !
ici : feuille1!L1C5:L1048576C22
c'est a dire de la colonne E a la colonne V !

j'ai pourtant encore cette erreur d'éxécution 5 qui me rend fou !!

merci de ton aide
ça va te sembler con, mais il suffit de remplacer les "L" de L1C5:L1048576C22
par "R". Il y' quelqu'un dans le forum qui donne l'explication, ta version d'excel doit etre en français et pourtant VBA se code en anglais, donc quand tu enregistre ta macro ça donne "L"igne au lieu de "R"ow du coup VBA comprend pas !!!