Salut à tous,
je reviens à la charge avec mes questions probablement d'une simplicité enfantine.
Je vous explique
j'ai un classeur avec de nombreuses feuilles. Parmis ces feuilles, j'en ai une qui me sert à remplir une ligne dans toutes les autres feuilles (c'est à dire que dans la feuilles "nouvel article", j'ai une cellule que je rempli, j'appuis sur le bouton ok, et ca envoie la macro qui va remplir toutes les autres feuilles). J'ai fait cette feuilles pour gagner du temps car il y a vraiment beaucoup de feuilles qui doivent toujours etre remplie de la meme facon.
Bref;
Ce classeur doit etre utilisé par une personne qui ne s'y connait absolument pas en informatique. Elle m'a deja tué 3 fichiers excel en remplacant toutes les formules par des valeurs qu'elle voulait avoir (mais qui ne correspond pas à la réalité...)
L'idée c'est de tout verrouiller sauf certaines plages.
J'ai donc essayé de selectionner la plage qui m'interresse, je l'ai dévérouillé, et j'ai protegé le classeur.
Probleme : les autres cellules qui se remplissent seules à partir des cellules remplies manuellement ne se remplissent pas. J'ai l'impressions que mes macros qui me servent à remplir automatiquement ces cellules sont bloqués...
J'ai aussi essayé de mettre "activesheet.unprotect" au début de chaque macro et "activesheet.protect" à la fin.
Mais ca bloque quand meme.
A cause d'un probleme de "confidentialité" (vive les patrons pesants !), je n'ai pas le droit de vous mettre mon fichier excel. Cependant, je vous joins le code qui me permet de copier un mot dans toutes les autres feuilles :
	
	
	
	
	
		
Et j'ai ce code dans le module et pour chaque feuille (le meme à chaque fois, avec la feuille de copie qui varie).
Pensez vous pourvoir m'aider ?
Merci beaucoup
PS: je précise que quand j'utilise activesheet.unprotect, ca bug à ce niveau là:
	
	
	
	
	
		
	
		
			
		
		
	
				
			je reviens à la charge avec mes questions probablement d'une simplicité enfantine.
Je vous explique
j'ai un classeur avec de nombreuses feuilles. Parmis ces feuilles, j'en ai une qui me sert à remplir une ligne dans toutes les autres feuilles (c'est à dire que dans la feuilles "nouvel article", j'ai une cellule que je rempli, j'appuis sur le bouton ok, et ca envoie la macro qui va remplir toutes les autres feuilles). J'ai fait cette feuilles pour gagner du temps car il y a vraiment beaucoup de feuilles qui doivent toujours etre remplie de la meme facon.
Bref;
Ce classeur doit etre utilisé par une personne qui ne s'y connait absolument pas en informatique. Elle m'a deja tué 3 fichiers excel en remplacant toutes les formules par des valeurs qu'elle voulait avoir (mais qui ne correspond pas à la réalité...)
L'idée c'est de tout verrouiller sauf certaines plages.
J'ai donc essayé de selectionner la plage qui m'interresse, je l'ai dévérouillé, et j'ai protegé le classeur.
Probleme : les autres cellules qui se remplissent seules à partir des cellules remplies manuellement ne se remplissent pas. J'ai l'impressions que mes macros qui me servent à remplir automatiquement ces cellules sont bloqués...
J'ai aussi essayé de mettre "activesheet.unprotect" au début de chaque macro et "activesheet.protect" à la fin.
Mais ca bloque quand meme.
A cause d'un probleme de "confidentialité" (vive les patrons pesants !), je n'ai pas le droit de vous mettre mon fichier excel. Cependant, je vous joins le code qui me permet de copier un mot dans toutes les autres feuilles :
		Code:
	
	
	Sub article_et_stock()
    Sheets("Nouvel article").Select
    Range("B5").Select
    Selection.Copy
    Sheets("Article et Stock").Select
    ActiveWindow.SmallScroll Down:=146
    Range("B157").Select
    ActiveSheet.Paste
    Sheets("Nouvel article").Select
    Range("C5").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Article et Stock").Select
    Range("O157").Select
    ActiveSheet.Paste
    ActiveWindow.SmallScroll Down:=-146
    Range("B8:O157").Select
    Application.CutCopyMode = False
    Selection.Sort Key1:=Range("B7"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    ActiveWindow.SmallScroll Down:=-134
    Range("A1").Select
End Sub
	Et j'ai ce code dans le module et pour chaque feuille (le meme à chaque fois, avec la feuille de copie qui varie).
Pensez vous pourvoir m'aider ?
Merci beaucoup
PS: je précise que quand j'utilise activesheet.unprotect, ca bug à ce niveau là:
		Code:
	
	
	Selection.Sort Key1:=Range("B7"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom