Macro TCD - VB/VBA/VBS - Programmation
Marsh Posté le 04-05-2012 à 15:58:53
Je soupçonne le problème de se situer dans ....R" & LastRow & "C....
Pour le savoir, il faudrait faire un test en mettant ....R25C....
Marsh Posté le 04-05-2012 à 16:08:38
Mettre
sPlageDonnees = sNomFeuilleDatas & "!R1C1:R15C"
A la place de
sPlageDonnees = sNomFeuilleDatas & "!R1C1:R" & LastRow & "C15"
??
je viens d'essayer, cela ne change rien
Marsh Posté le 04-05-2012 à 18:18:56
Salut, voir l'aide en ligne : sélectionner : l'instruction puis [F1]
Ou as-tu collé le code ?
Pour Erreur 5 ( Aide en ligne ) :
-------------------------------------
Une partie de l'appel n'a pas pu être effectuée. Causes et solutions de cette erreur :
Un argument dépasse probablement la plage des valeurs permises. Par exemple, la fonction Sin ne peut accepter que les valeurs comprises dans une certaine plage. Les arguments positifs inférieurs à 2 147 483 648 sont acceptés, tandis que 2 147 483 648 génère cette erreur.
Vérifiez les plages permises pour les arguments.
Cette erreur peut également se produire si vous tentez d'effectuer un appel à une procédure qui n'est pas valide sur la plate-forme en cours. Par exemple, certaines procédures ne sont valides que pour Microsoft Windows, ou pour le Macintosh, etc.
Vérifiez les informations spécifiques de la plate-forme sur la procédure.
Pour plus d'informations, sélectionnez l'élément en question et appuyez sur F1 (sous Windows) ou AIDE (sur Macintosh).
Marsh Posté le 04-05-2012 à 15:46:59
Bonjour !
J'ai une macro pour faire un TCD qui marche pas mal.
Quand je l'exécute sur le fichier où je l'ai créée, aucun soucis.
Par contre, aucun moyen de la faire fonctionner sur un autre classeur.
Et quand je fais un copier/coller de la macro sur le VBA du 2ème classeur, ça plante aussi ...
Alors que je ne touche absolument pas à la macro !!
Voilà le début de ma macro, avec en rouge les endroits où ça plante et en vert un morceau de macro dont j'ignore la signification (quelqu'un pourrait m'éclairer ?) :
Sub TDC1()
Dim sNomFeuilleTCD As String
Dim LastRow As Long
Dim sNomFeuilleDatas As String
Dim sNomTableau As String
Dim sPlageDonnees As String
Dim sDestination As String
ActiveWorkbook.ShowPivotTableFieldList = False
Application.ScreenUpdating = False
With Feuil2
.Activate
.Cells.Clear
End With
sNomFeuilleDatas = Feuil1.Name
sNomFeuilleTCD = Feuil2.Name
sNomTableau = "TCD1"
LastRow = Feuil1.Range("A65536" ).End(xlUp).Row
sPlageDonnees = sNomFeuilleDatas & "!R1C1:R" & LastRow & "C15"
sDestination = sNomFeuilleTCD & "!R1C1:R"
ThisWorkbook.PivotCaches.Add(SourceType:=xlDatabase, _
SourceData:=sPlageDonnees).CreatePivotTable _
TableDestination:=sDestination, _
TableName:=sNomTableau, _
DefaultVersion:=xlPivotTableVersion10
With Feuil2.PivotTables(sNomTableau).PivotFields("Date" )
.Orientation = xlRowField
.Position = 1
End With
L'erreur qui survient est : "Erreur d'exécution 5 : Argument ou appel de procédure incorrect"
Avez-vous une idée ?
Merci beaucoup !
mélie