Bonjour,
Dans une simple liste j'ai placé un bouton de sélection qui génère un TRUE ou FALSE en colonne 9.
L'idée est de copier toutes les lignes de la Feuille1 ayant en colonne 9 "TRUE" vers la feuille 2 sans laisser de lignes vides.
Ici je le fais avec un bouton de commande mais ce pourrait être systématique aussi.
Ceci de manière à reprendre en Feuille2 uniquement les articles sélectionnés (exemple en Feuille3 "Devraitfaire").
Une solution semblait se dessiner avec un exemple sur youtube qui fonctionne effectivement dans le cas d'une liste d'exemples sans formatage mais si on reprend l'idée dans une vrai feuille avec mise en page et lignes vides, le système retourne systématiquement un "RUN TIME ERROR".
Quelqu'un aurait une solution plus simple (peut-être sans VBA) ou une idée pour résoudre cet exemple qui devrait aider pas mal d'utilisateurs?
En vous remerciant.
Voici le code:
a= worksheets("sheet1").Cells(Rows.Count,1).End(x1up).Row
For i=2 to a
If Worksheets("Sheet1").Cells(i,9).Value="TRUE" then
Worksheets("Sheet1").Rows(i).copy
Worksheets("sheet2").Activate
b=Worksheets("worksheet2").Cells(Rows.Count,1).End(x1Up).Row
Worksheets("sheet2").Cells(b+1,1).Select
ActiveSheet.Paste
Worksheets("sheet1").Activate
End If
Next
Application.CutCopyMode = False
ThisWorkbook.worksheets("Sheet1".Cells(1,1).Select
End Sub
Dans une simple liste j'ai placé un bouton de sélection qui génère un TRUE ou FALSE en colonne 9.
L'idée est de copier toutes les lignes de la Feuille1 ayant en colonne 9 "TRUE" vers la feuille 2 sans laisser de lignes vides.
Ici je le fais avec un bouton de commande mais ce pourrait être systématique aussi.
Ceci de manière à reprendre en Feuille2 uniquement les articles sélectionnés (exemple en Feuille3 "Devraitfaire").
Une solution semblait se dessiner avec un exemple sur youtube qui fonctionne effectivement dans le cas d'une liste d'exemples sans formatage mais si on reprend l'idée dans une vrai feuille avec mise en page et lignes vides, le système retourne systématiquement un "RUN TIME ERROR".
Quelqu'un aurait une solution plus simple (peut-être sans VBA) ou une idée pour résoudre cet exemple qui devrait aider pas mal d'utilisateurs?
En vous remerciant.
Voici le code:
a= worksheets("sheet1").Cells(Rows.Count,1).End(x1up).Row
For i=2 to a
If Worksheets("Sheet1").Cells(i,9).Value="TRUE" then
Worksheets("Sheet1").Rows(i).copy
Worksheets("sheet2").Activate
b=Worksheets("worksheet2").Cells(Rows.Count,1).End(x1Up).Row
Worksheets("sheet2").Cells(b+1,1).Select
ActiveSheet.Paste
Worksheets("sheet1").Activate
End If
Next
Application.CutCopyMode = False
ThisWorkbook.worksheets("Sheet1".Cells(1,1).Select
End Sub