VBA - Recréer un tableau de consolidation

julien91080

XLDnaute Occasionnel
Bonjour à tous,

Je souhaite, à partir d'un tableau où j'ai 2 lignes par salariés: une ligne toto avec un montant et l'autre tata avec une date.
Mon objectif est de recréer un tableau avec une seule ligne par salariés avec toto et tata sur cette ligne en lancant une macro:

Salarié1 toto1 tata1
Salarié2 toto2 tata2
SalariéX totoX tataX

Veuillez trouver ci-joint un exemple.
Merci par avance.

Cordialement,

julien
 

Pièces jointes

  • Vtest2.xlsm
    56.7 KB · Affichages: 25

julien91080

XLDnaute Occasionnel
Re : VBA - Recréer un tableau de consolidation

C'est bien sur un exemple.

Mon "tableau" est celui sur l'onglet T2 qui est en format:

Salarié1 toto1 RésultatToto1
Salarié1 tata1 RésultatTata1
Salarié2 toto2 RésultatToto2
Salarié2 tata2 RésultatTata2
SalariéX totoX RésultatTotoX
SalariéX tataX RésultatTataX

et dans Feuil2 je voudrais obtenir :


Salarié1 RésultatToto1 RésultatTatao1
Salarié2 RésultatToto2 RésultatTata2
SalariéX RésultatTotox RésultatTataX

Cordialement,

Julien
 

job75

XLDnaute Barbatruc
Re : VBA - Recréer un tableau de consolidation

Re,

Ah oui en T2 vous avez filtré...

Alors placez dans le code de "Feuil2" :

Code:
Private Sub Worksheet_Activate()
Dim t, i&, n&, Cancel As Boolean
With Sheets("T2")
t = .[C1].Resize(Application.Match("zzz", .[C:C]), 6)
End With
For i = 2 To UBound(t) - 1
  If t(i + 1, 1) = t(i, 1) Then
    n = n + 1
    t(n, 1) = t(i, 1): t(n, 2) = t(i, 2): t(n, 3) = t(i + 1, 2)
    If IsDate(t(i, 4)) Then t(n, 4) = CDate(t(i, 4)) _
      Else t(n, 4) = t(i, 4)
    t(n, 5) = t(i + 1, 4)
    t(n, 6) = "=IF(RC[-2]<Sommaire!R1C1,1,0)"
    i = i + 1
  End If
Next
If n Then [A2].Resize(n, 6) = t
Rows(n + 2 & ":" & Rows.Count).Delete
[D:D].NumberFormat = "dd/mm/yyyy" 'si nécessaire
[E:F].NumberFormat = "General"
End Sub
La macro Worksheet_BeforeDoubleClick ne servira plus à rien.

A+
 

Discussions similaires

Réponses
2
Affichages
612

Statistiques des forums

Discussions
312 321
Messages
2 087 266
Membres
103 502
dernier inscrit
talebafia