Re : Masquer ligne n°2 sur certaines feuilles.
Bonsoir LILOUM44,
La macro suivante est un essai avec ce que j'ai pu comprendre de ton projet :
Sub DIF_test_dd()
Dim MyMtPss As String, Feuil As Worksheet
Dim i As Integer, Lig As Long, tablo
MyMtPss = Application.InputBox("Mot de passe pour continuer")
If MyMtPss <> "xxxxx" Then Exit Sub
Application.ScreenUpdating = False
For Each Feuil In Sheets ' Boucle sur les feuilles
Feuil.Unprotect Password:="xxxxx" ' Suppression de la protection
' Masquer feuille suite Diffusion
If Feuil.Name = "ESPACE ADMINISTRATEUR" Then Feuil.Visible = xlVeryHidden
If Feuil.Name = "structure" Then Feuil.Visible = xlVeryHidden
If Feuil.Name = "ACCUEIL" Then Feuil.Visible = xlVeryHidden
If Feuil.Name = "ACCUEIL GENERAL" Then Feuil.Visible = xlVeryHidden
If Feuil.Name = "MISSIONS ADMINISTRATEURS" Then Feuil.Visible = xlVeryHidden
If Feuil.Name = "Feuil3" Then Feuil.Visible = xlSheetHidden
If Feuil.Name = "DOCS DIVERS" Then Feuil.Visible = xlVeryHidden
If Feuil.Name = "GUIDE METIER" Then Feuil.Visible = xlVeryHidden
If Feuil.Name = "GUIDE METIER xx" Then Feuil.Visible = xlVeryHidden
If Feuil.Name = "REJETS" Then Feuil.Visible = xlVeryHidden
If Feuil.Name = "RepListeQuellensteuer" Then
With Feuil
Lig = .Range("A65536").End(xlUp).Row ' Dernière ligne du tableau
For i = Lig To 11 Step -1 ' Passage en revue
If .Cells(i, 7) <> 0 And .Cells(i, 8) <> 0 Then
If Round(.Cells(i, 8) / .Cells(i, 7), 3) <> 0.1 And Round(.Cells(i, 8) / .Cells(i, 7), 3) <> 0.045 Then
tablo = Range(.Cells(i, 1), .Cells(i, 10))
Rows(i).Delete
Lig = .Range("A65536").End(xlUp).Row + 1
Range(.Cells(Lig, 1), .Cells(Lig, 10)) = tablo
.Cells(Lig, 9) = "?????"
End If
End If
Next i
End With
End If
'Feuil.Visible = xlVeryHidden ' Masquer la feuille
'Feuil.Protect Password:="xxxxx", DrawingObjects:=True, Contents:=True, Scenarios:=True ' Protection
Next Feuil
MsgBox "La macro vient d'être exécutée avec succès !"
End Sub
Cordialement
Bernard