Modif code pour incrémenter lignes dans un tableau inséré

  • Initiateur de la discussion Initiateur de la discussion Johan
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Johan

XLDnaute Occasionnel
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
 
Dernière modification par un modérateur:
Re : Modif code pour incrémenter lignes dans un tableau inséré

Bonsoir Johan,

si tu ne met pas un fichier en PJ, peu de chance que tu obtienne de l'aide.
Et j'écrirai comme ceci:

Ligne = Feuil4.Range("A65536").End(xlUp).Row + 1
Lig = Feuil1.Range("AA65536").End(xlUp).Row si 27 correspond à la colonne AA.

Pas besoin de Ligne = Ligne + 1 vu que tu as mis + 1

For LignePA = 14 to Ligne (sans LignePA = 14)

Changer For LignePA = 14 To Feuil1.Cells(Feuil1.Rows.Count, 27).End(xlUp).Row par For LignePA = 14 To Lig



A+ 😎
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
177
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
4
Affichages
461
Réponses
4
Affichages
458
Retour