stephane.quinquis
XLDnaute Junior
Bonjour le forum
J'ai un problème avec mon insertion de lignes et ma macro. Je sais d'où il vient mais je n'arrive pas à le résoudre.
J'ai une macro qui insère une ligne à un endroit précis. J'aimerai protéger une plage de données précises afin que mes utilisateurs ne puissent écrire ou modifier quoi que ce soit.
Dans mon exemple, la plage de données A1:F6.
Mon insertion de lignes se fait actuellement par un décaler vers le bas or comme la plage de données est protégé, la macro bug.
Voici mon code:
Je pensais qu'en mettant au début
et à la fin
Cela pourrait résoudre mon problème mais il me demande le mot de passe pour ôter la protection de feuille or je ne veux pas qu'il soit afficher.
Merci d'avance.
Fichier exemple enregistrement pertes:
Cijoint.fr - Service gratuit de dépôt de fichiers
J'ai un problème avec mon insertion de lignes et ma macro. Je sais d'où il vient mais je n'arrive pas à le résoudre.
J'ai une macro qui insère une ligne à un endroit précis. J'aimerai protéger une plage de données précises afin que mes utilisateurs ne puissent écrire ou modifier quoi que ce soit.
Dans mon exemple, la plage de données A1:F6.
Mon insertion de lignes se fait actuellement par un décaler vers le bas or comme la plage de données est protégé, la macro bug.
Voici mon code:
Code:
Sub nouvellemiseenstock()
'
' nouvellemiseenstock Macro
' Macro enregistrée le 02/06/2010 par quinquis
'
ActiveSheet.Unprotect
Range("A7:F7").Select
Selection.Insert Shift:=xlDown
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
Range("A7:F7").Select
With Selection
.WrapText = True
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
Selection.Interior.ColorIndex = 2
Selection.Font.ColorIndex = 0
Selection.Locked = False
Range("G7:CT7").Select
With Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
End With
Sheets("enregistrement").Select
Range("A7").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("mise en stock").Select
Range("A7").Select
ActiveSheet.Paste
Sheets("enregistrement").Select
Range("A9").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("mise en stock").Select
Range("B7").Select
ActiveSheet.Paste
Sheets("enregistrement").Select
Range("F7").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("mise en stock").Select
Range("C7").Select
ActiveSheet.Paste
Sheets("enregistrement").Select
Range("D9").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("mise en stock").Select
Range("E7").Select
ActiveSheet.Paste
ActiveSheet.Unprotect
End Sub
Je pensais qu'en mettant au début
Code:
ActiveSheet.Unprotect
et à la fin
Code:
ActiveSheet.Protect
Cela pourrait résoudre mon problème mais il me demande le mot de passe pour ôter la protection de feuille or je ne veux pas qu'il soit afficher.
Merci d'avance.
Fichier exemple enregistrement pertes:
Cijoint.fr - Service gratuit de dépôt de fichiers