Bonjour,
Grace à ce forum j ai cette macro qui fonctionne très bien pour les pages de "2 Electrique" jusqu'à "17 Automaintenance" sur la page "recap Normative" :
Option Explicit
Dim f, sh, ln, lgn
Sub NONCONFORMEnorm()
Set f = Sheets("Recap Normative")
f.Range("A14").CurrentRegion.Offset(1, 0).Clear
For Each sh In Worksheets
If sh.Range("G14") = "Conforme /" & Chr(10) & "Non Conforme" Then
For ln = 16 To sh.Range("D" & Rows.Count).End(xlUp).Row
If sh.Range("G" & ln) = "NON CONFORME" Then
lgn = Application.Max(6, f.Range("D" & Rows.Count).End(xlUp)(2).Row)
sh.Range("B" & ln & ":I" & ln).Copy f.Range("A" & lgn)
End If
Next ln
End If
Next sh
MsgBox "Travail terminé !"
End Sub
Donc en partant de là j'ai voulu l'adapter pour qu'elle fonctionne pour les pages de "Checklist DR1" jusqu'à "Checklist DR7" sur la page "Recap Gestionnelle" mais je ne comprend pas pourquoi elle ne fonctionne pas.
Option Explicit
Dim f, sh, ln, lgn
Sub NONCONFORMEgest()
Set f = Sheets("Recap Gestionnelle")
f.Range("A14").CurrentRegion.Offset(1, 0).Clear
For Each sh In Worksheets
If sh.Range("I14") = "Conforme /" & Chr(10) & "Non Conforme" Then
For ln = 14 To sh.Range("G" & Rows.Count).End(xlUp).Row
If sh.Range("I" & ln) = "NON CONFORME" Then
lgn = Application.Max(6, f.Range("D" & Rows.Count).End(xlUp)(2).Row)
sh.Range("B" & ln & ":I" & ln).Copy f.Range("A" & lgn)
End If
Next ln
End If
Next sh
MsgBox "Travail terminé !"
End Sub
Voici le fichier
Merci d'avance.