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