Bonjour à tous,
voici mon problème :
j'ai un Tableau Croisé Dynamique (TCD) composé de 3 colonnes.
A côté du tableau, il y a 3 colonnes de formules qui font référence à ce tableau (par exemple la cellule de la 4eme colonne fait référence à une cellule du TCD, sur la même ligne)
J'aimerai une macro pour qu'à chaque nouvelle ligne du TCD, les formules à droite de celui-ci se remplissent automatiquement.
VOici ce que j'ai fait : quand une des cellules de la ligne est remplie, un copier-coller s'opère depuis la cellule en tête de chaque colonne (qui contient déjà la formule) et la nouvelle ligne. Cependant, il ne fonctionne qu'une fois sur deux. L'autre fois il menvoie ce message "erreur d'exécution 13, Incompabilité de type".
voici mon problème :
j'ai un Tableau Croisé Dynamique (TCD) composé de 3 colonnes.
A côté du tableau, il y a 3 colonnes de formules qui font référence à ce tableau (par exemple la cellule de la 4eme colonne fait référence à une cellule du TCD, sur la même ligne)
J'aimerai une macro pour qu'à chaque nouvelle ligne du TCD, les formules à droite de celui-ci se remplissent automatiquement.
VOici ce que j'ai fait : quand une des cellules de la ligne est remplie, un copier-coller s'opère depuis la cellule en tête de chaque colonne (qui contient déjà la formule) et la nouvelle ligne. Cependant, il ne fonctionne qu'une fois sur deux. L'autre fois il menvoie ce message "erreur d'exécution 13, Incompabilité de type".
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
C = Cell
'cette macro renseigne la cellule D du tableau
For Each C In Range("A9:A199")
X = C.Row
If C.Value <> "" And Range("D" & X).Value = "" Then
Range("D1").Copy
Range("D" & X).Select
ActiveSheet.Paste
End If
Next
'cette macro renseigne la cellule E du tableau
For Each D In Range("C9:C199")
Y = D.Row
If D.Value <> "" And Range("E" & Y).Value = "" Then
Range("E1").Copy
Range("E" & Y).Select
ActiveSheet.Paste
End If
Next
'cette macro renseigne la cellule F du tableau
For Each E In Range("E9:E199")
Z = E.Row
If E.Value <> "" And Range("F" & Z).Value = "" Then
Range("F1").Copy
Range("F" & Z).Select
ActiveSheet.Paste
End If
Next
End Sub