Jerome-lost
XLDnaute Nouveau
Bonjour à tous,
C'est vraiment une chance de pouvoir faire appel à une communauté d'amateurs compétents, cela fait maintenant un jour que je n'arrive à rien et je commence à desespérer.
Voilà, Je dispose d'un tableau à double entrée qu'un code VBA transforme en liste . Le script fonctionne tres bien (placé dans la fenetre ci dessous)... en gras ce que je ne comprends pas . Ou cela se complique , c'est que j'ai un nouveau tableau à double entrée que je dois convertir en liste. J'ai essayé d'adapter le code mais je n'abouti à rien. J'aurai aimé partir de ce code pour commencer à comprendre les arcanes des tableaux dynamiques VBA. Je vous transmets le nouveau tableau à double entree que je dois convertir en liste (fichier joint).
Je vous remercie pour l'attention que vous voudrez bien accorder à ma demande
C'est vraiment une chance de pouvoir faire appel à une communauté d'amateurs compétents, cela fait maintenant un jour que je n'arrive à rien et je commence à desespérer.
Voilà, Je dispose d'un tableau à double entrée qu'un code VBA transforme en liste . Le script fonctionne tres bien (placé dans la fenetre ci dessous)... en gras ce que je ne comprends pas . Ou cela se complique , c'est que j'ai un nouveau tableau à double entrée que je dois convertir en liste. J'ai essayé d'adapter le code mais je n'abouti à rien. J'aurai aimé partir de ce code pour commencer à comprendre les arcanes des tableaux dynamiques VBA. Je vous transmets le nouveau tableau à double entree que je dois convertir en liste (fichier joint).
Je vous remercie pour l'attention que vous voudrez bien accorder à ma demande
Sub TRANSPOSE_RHPM()
Dim a, b(), i As Long, j As Long, n As Long, x
With Sheets("RHPM SOURCE").Range("a4").CurrentRegion
a = .Value
End With
ReDim b(1 To (((UBound(a, 2) - 3) / 2) * (UBound(a, 1) - 1)), 1 To 6)
For i = 2 To UBound(a, 1)
For j = 4 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) = x(0): b(n, 5) = a(i, j)
b(n, 5) = a(i, j): b(n, 6) = a(i, j + 1)
Next
Next
With Sheets("RHPM RESULTAT").Cells(1).Resize(, 6)
.CurrentRegion.Clear
.Value = [{"Unité","Code Statut","Libellé Statut","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