Macro TCD

Macro TCD - VB/VBA/VBS - Programmation

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

Reply

Marsh Posté le 04-05-2012 à 15:46:59   

Reply

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....

Reply

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

Reply

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).


Message édité par kiki29 le 04-05-2012 à 18:27:20

---------------
Myanmar 90/91 : http://gadaud.gerard.free.fr/publi [...] index.html
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed