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