abdernino1985
XLDnaute Junior
Bonjour, voila j'ai une macro dispatch selon un critère sur plusieurs onglets
Option Explicite
Dim fa as Worksheet, f as Worksheet, fm as Worksheet, Tablo
Dim i&&, der Ln&
Sub dispatcher()
Set fa = Feuil1
Set fm = Sheets("Modèle")
Application. Screen Updating = False Tablo = fa. Range("A1: M" & fa. Range("A" & Rows. Count).End(xl Up). Row)
For i = 6 To UBound(Tablo, 1)
On Error Résumé Next
Set f = Sheets(C. Str(Tablo(i, 3)))
If Err. Number > 0 Then fm. Visible = True fm. Copy after: =fa
Active Sheet .Nom = C. Str(Tablo(i, 3))
Set f = Active Sheet
End If der Ln = f. Range("A" & Rows. Count).End(xl Up)(2). Row fa. Range("A" & i & ": M" & i). Copy f. Range("A" & der Ln)
f.Range("A" & der Ln) = der Ln - 5
Next i fm. Visible = False
For each f In worksheets
If f. Nom > "Feuil1" And f. Nom > "Modèle" then der Ln = f. Range("A" & Rows. Count).End(xl Up)(2). Row
f.Range("I" & der Ln & ": J" & der Ln). FormulaR1C1 = "=SUM(R[" & --derLn + 6 & "]C: R[-1]C)"
End If
Next f
End Sub mais voila je voudrais verrouiller les cellules qui sont créées dans chaque onglet pour rendre impossible la suppersion et modification, moi j'ai trouvé ça Activesheet protect Password: ="Sophia"
mais mon problème que c'est toute la feuille est verrouillé
Option Explicite
Dim fa as Worksheet, f as Worksheet, fm as Worksheet, Tablo
Dim i&&, der Ln&
Sub dispatcher()
Set fa = Feuil1
Set fm = Sheets("Modèle")
Application. Screen Updating = False Tablo = fa. Range("A1: M" & fa. Range("A" & Rows. Count).End(xl Up). Row)
For i = 6 To UBound(Tablo, 1)
On Error Résumé Next
Set f = Sheets(C. Str(Tablo(i, 3)))
If Err. Number > 0 Then fm. Visible = True fm. Copy after: =fa
Active Sheet .Nom = C. Str(Tablo(i, 3))
Set f = Active Sheet
End If der Ln = f. Range("A" & Rows. Count).End(xl Up)(2). Row fa. Range("A" & i & ": M" & i). Copy f. Range("A" & der Ln)
f.Range("A" & der Ln) = der Ln - 5
Next i fm. Visible = False
For each f In worksheets
If f. Nom > "Feuil1" And f. Nom > "Modèle" then der Ln = f. Range("A" & Rows. Count).End(xl Up)(2). Row
f.Range("I" & der Ln & ": J" & der Ln). FormulaR1C1 = "=SUM(R[" & --derLn + 6 & "]C: R[-1]C)"
End If
Next f
End Sub mais voila je voudrais verrouiller les cellules qui sont créées dans chaque onglet pour rendre impossible la suppersion et modification, moi j'ai trouvé ça Activesheet protect Password: ="Sophia"
mais mon problème que c'est toute la feuille est verrouillé