Bonjour,
Je me suis crée un tableau de synthèse en feuil4 qui reprend seulement les données essentielles du tableau archi-détaillé feuil1.
Le code suivant ne me satisfait pas dans la mesure où il n'incrémente pas toutes les données et ne fait que recopier la dernière qu'il rencontre... En gros je n'arrive pas à intégrer mon instruction "Ligne" que j'ai défini en début de macro... Que modifier dans les lignes en gras pour incrémenter toutes les lignes rencontrées ?
Sub MAJEnCours()
Dim Ligne As Integer, LignePA As Integer
Ligne = Feuil4.Range("A" & Feuil4.Rows.Count).End(xlUp).Row + 1
LignePA = 14
With Feuil4.ListObjects(1)
For LignePA = 14 To Feuil1.Cells(Feuil1.Rows.Count, 27).End(xlUp).Row
If Feuil1.Range("AA" & LignePA) = "En Cours" Then
.Range(.Range.Rows.Count, 1).Value = Feuil1.Range("A" & LignePA)
.Range(.Range.Rows.Count, 2).Value = Feuil1.Range("C" & LignePA)
.Range(.Range.Rows.Count, 3).Value = Feuil1.Range("D" & LignePA)
.Range(.Range.Rows.Count, 4).Value = Feuil1.Range("E" & LignePA)
.Range(.Range.Rows.Count, 5).Value = Feuil1.Range("J" & LignePA)
.Range(.Range.Rows.Count, 6).Value = Feuil1.Range("O" & LignePA)
.Range(.Range.Rows.Count, 7).Value = Feuil1.Range("P" & LignePA)
.Range(.Range.Rows.Count, 8).Value = Feuil1.Range("Q" & LignePA)
.Range(.Range.Rows.Count, 9).Value = Feuil1.Range("T" & LignePA)
.Range(.Range.Rows.Count, 10).Value = Feuil1.Range("U" & LignePA)
.Range(.Range.Rows.Count, 11).Value = Feuil1.Range("AA" & LignePA)
.Range(.Range.Rows.Count, 12).Value = Feuil1.Range("AB" & LignePA)
.Range(.Range.Rows.Count, 13).Value = Feuil1.Range("AC" & LignePA)
Ligne = Ligne + 1
End If
Next LignePA
End With
End Sub
PS : si j'utilise "Feuil4.Range("A" & Ligne) = Feuil1.Range("A" & LignePA)", les données sont écrites en dehors du tableau... le code ne reconnaissant pas l'objet.
Merci pour votre aide
Je me suis crée un tableau de synthèse en feuil4 qui reprend seulement les données essentielles du tableau archi-détaillé feuil1.
Le code suivant ne me satisfait pas dans la mesure où il n'incrémente pas toutes les données et ne fait que recopier la dernière qu'il rencontre... En gros je n'arrive pas à intégrer mon instruction "Ligne" que j'ai défini en début de macro... Que modifier dans les lignes en gras pour incrémenter toutes les lignes rencontrées ?
Sub MAJEnCours()
Dim Ligne As Integer, LignePA As Integer
Ligne = Feuil4.Range("A" & Feuil4.Rows.Count).End(xlUp).Row + 1
LignePA = 14
With Feuil4.ListObjects(1)
For LignePA = 14 To Feuil1.Cells(Feuil1.Rows.Count, 27).End(xlUp).Row
If Feuil1.Range("AA" & LignePA) = "En Cours" Then
.Range(.Range.Rows.Count, 1).Value = Feuil1.Range("A" & LignePA)
.Range(.Range.Rows.Count, 2).Value = Feuil1.Range("C" & LignePA)
.Range(.Range.Rows.Count, 3).Value = Feuil1.Range("D" & LignePA)
.Range(.Range.Rows.Count, 4).Value = Feuil1.Range("E" & LignePA)
.Range(.Range.Rows.Count, 5).Value = Feuil1.Range("J" & LignePA)
.Range(.Range.Rows.Count, 6).Value = Feuil1.Range("O" & LignePA)
.Range(.Range.Rows.Count, 7).Value = Feuil1.Range("P" & LignePA)
.Range(.Range.Rows.Count, 8).Value = Feuil1.Range("Q" & LignePA)
.Range(.Range.Rows.Count, 9).Value = Feuil1.Range("T" & LignePA)
.Range(.Range.Rows.Count, 10).Value = Feuil1.Range("U" & LignePA)
.Range(.Range.Rows.Count, 11).Value = Feuil1.Range("AA" & LignePA)
.Range(.Range.Rows.Count, 12).Value = Feuil1.Range("AB" & LignePA)
.Range(.Range.Rows.Count, 13).Value = Feuil1.Range("AC" & LignePA)
Ligne = Ligne + 1
End If
Next LignePA
End With
End Sub
PS : si j'utilise "Feuil4.Range("A" & Ligne) = Feuil1.Range("A" & LignePA)", les données sont écrites en dehors du tableau... le code ne reconnaissant pas l'objet.
Merci pour votre aide
Dernière modification par un modérateur: