Bonjour,

Tout d'abord merci à ce forum d'exister, il m'a déjà pas mal "dépatouillé"

Je suis en stage de fin d'études DUT gestion des entreprises et je travaille pour créer des outils de gestion informatisés et automatisés pour une EURL qui vient d'être créée. Je suis découvre donc les macros et VBA pour Excel, sur le tas, depuis 3 semaines...

Là j'ai commencé à écrire une macro pour créer un tableau croisé dynamique en cliquant sur un bouton.

Je suis passée par l'enregistrement automatique et j'ai commencé à modifier.
La sélection de la plage de référence pour mon tableau peut varier.
j'ai donc créé une InputBox qui me demande le N° de la dernière ligne à sélectionner (cette partie là fonctionne très bien)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
'détermine le N° de la dernière ligne à sélectionner avec une boîte de dialogue
Dim ligne As String
ligne = InputBox("N° de la dernière ligne à sélectionner ?", "sélection de l'ensemble des travaux du devis")
      'si clic sur "annuler", sort de la macro
If ligne = vbNullString Then
End
 
  Else
'sinon sélectionne l'ensemble des Désignation,  u et Qte du devis
      Range("B10:D" & ligne).Select
C'est ensuite que cela se corse.
La partie de macro enregistrée est la suivante

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 'crée un rapport de tableau croisé dynamique débutant en cellule "M2"
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        "'Devis (2)'!R10C2:R27C4").CreatePivotTable TableDestination:= _
        "'[DevisFactures.xls]Devis (2)'!R2C13", TableName:= _
        "Tableau croisé dynamique2", DefaultVersion:=xlPivotTableVersion10
Je coince au niveau de SourceData : La cellule de fin de mon tableau de sélection n'est pas R27C4 (j'ai mis du temps à comprendre que cela signifiait ligne 27 colonne4, soit "D27"...) mais quelque chose comme R "ligne" C4.

Comment est-ce que j'écris ça ? (R&ligneC4 ça ne fonctionne pas)

Merci d'avance pour votre aide.

A bientôt
Nat