Bonjour gmb,
J'ai retravaillé ton code pour l'intégrer à mon fichier, mais problème Excel m'affiche un problème d'exécution et me surligne "With Sheets(liste(i))" en jaune.
Parmis les modifications que j'ai apportées :
- j'ai changé la liste avec les noms de mes onglets
- j'ai modifié les "A" en "E" car mon tableau à importer commence à la colonne E
- j'ai modifié la colonne où le choix est fait (colonne O)
Merci d'avance pour ton aide.
Option Explicit
Dim liste, i&, derln&, ln&, lgn&, fa As Worksheet
Sub Importer()
liste = Array("Options obligatoires", "Options préconisés", "Options facultatives", "Options supplémentaires", "Matériel", "Options spécifiques")
Set fa = Sheets("A imprimer")
fa.Cells.Clear
For i = 0 To UBound(liste)
With Sheets(liste(i))
derln = .Range("E" & Rows.Count).End(xlUp).Row
If WorksheetFunction.SumIf(.Range("O2:O" & derln), 1) > 0 Then
lgn = fa.Range("E" & Rows.Count).End(xlUp).Row
If lgn > 1 Then lgn = lgn + 2
.Range("E1:O1").Copy fa.Range("E" & lgn)
For ln = 2 To derln
If .Range("O" & ln) = 1 Then
.Range("E" & ln & ":O" & ln).Copy fa.Range("E" & lgn + 1)
lgn = lgn + 1
End If
Next ln
End If
End With
Next i
End Sub