Bonsoir,
Par le passé, j'avais eu besoin de réaliser une transposition partielle d'un état RH . Un membre de ce site m'avait proposé une macro qui marchait très bien avec une variable tableau dynamique et une boucle.
Malheureusement, l'état RH a été enrichi et je dois faire apparaître une nouvelle donnée dans le tableau final (post macro). Ma connaissance des variables tableau dynamique étant ce qu'elle est , je n'arrive pas à adapter le script qui m'a été donné à ce nouvel état RH.
Pour avoir une petite idée de la configuration de l'état RH d'origine je vous fais suivre une image. Je précise que les données que je vous transmets sont anonymisés.
A partir de cet état la macro réalisait cela:
Tout cela était réalisé grace à cette macro:
Mon problème est que mon état RH a évolué et intègre la donnée ETP tra (3)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 Sub TRANSPOSE_RHPNM() Dim a, b(), i As Long, j As Long, n As Long, x With Sheets("RHPNM SOURCE").Range("a4").CurrentRegion a = .Value End With ReDim b(1 To (((UBound(a, 2) - 5) / 2) * (UBound(a, 1) - 1)), 1 To 8) For i = 2 To UBound(a, 1) For j = 6 To UBound(a, 2) Step 2 n = n + 1 x = Split(a(1, j), "-") b(n, 1) = a(i, 1): b(n, 2) = a(i, 2): b(n, 3) = a(i, 3) b(n, 4) = a(i, 4): b(n, 5) = a(i, 5) 'b(n, 3) = x(0): b(n, 4) = a(i, j) 'ici le réajustement b(n, 6) = x(0): b(n, 7) = a(i, j) b(n, 8) = a(i, j + 1) Next Next With Sheets("RHPNM RESULTAT").Cells(1).Resize(, 8) .CurrentRegion.Clear .Value = [{"Unité","Code type Statut","Libellé type statut","Code emploi","Libellé emploi","Mois","Eff Prév","Etp Rém"}] .Offset(1).Resize(n).Value = b With .CurrentRegion .Font.Name = "calibri" .Font.Size = 10 .VerticalAlignment = xlCenter .BorderAround Weight:=xlThin .Borders(xlInsideVertical).Weight = xlThin With .Rows(1) .BorderAround Weight:=xlThin .HorizontalAlignment = xlCenter .Interior.ColorIndex = 36 .Font.Size = 11 End With .Columns.ColumnWidth = 14 End With .Parent.Activate End With End Sub
Voila le nouvel état RH :
Il faudrait que le tableau après que la macro ai tourné ressemble a cela ( la dernière colonne doit contenir l'information relative à ETP tra (3))
J'ai conscience qu'il faut toucher aux dimensions avec la fonction Redim et modifier les valeurs dans le tableau, mais mes tentatives se soldent par un échec.
Quelqu'un serait en mesure de m'aider .
En vous remerciant
Morgan
Partager