Verrouillage de cellule qui empeche mes macros...

Benjo

XLDnaute Junior
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 :

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
 

chris

XLDnaute Barbatruc
Re : Verrouillage de cellule qui empeche mes macros...

Bonjour

Si l'unprotect est fait le bug vient d'ailleurs, sans doute des sélections ...

Il faut éviter au maximum les select et surtout les smallscroll qui correspondent à un cas particulier au moment de l'enregistrement mais ne sont pas adaptés à des cas évolutifs.

Sans cas concret difficile d'être plus précis.
 

Benjo

XLDnaute Junior
Re : Verrouillage de cellule qui empeche mes macros...

Vous avez raison, c'est difficil.
Je vous mets donc là ou je bloque.
Pensez vous pouvoir m'aider ?
Merci beaucoup les amis :)
 

Pièces jointes

  • Classeur1.xls
    38 KB · Affichages: 50
  • Classeur1.xls
    38 KB · Affichages: 59
  • Classeur1.xls
    38 KB · Affichages: 66

chris

XLDnaute Barbatruc
Re : Verrouillage de cellule qui empeche mes macros...

Bonjour
Ci-joint le classeur modifié
le mot de passe est toto
 

Pièces jointes

  • Classeur1b.xls
    41 KB · Affichages: 62
  • Classeur1b.xls
    41 KB · Affichages: 66
  • Classeur1b.xls
    41 KB · Affichages: 71

Benjo

XLDnaute Junior
Re : Verrouillage de cellule qui empeche mes macros...

C'est tres sympa d'essayer de m'aider !
Malheureusement ca ne fonctionne toujours pas.

Quand tu va dans la feuille 1 et que tu essaies de d'enregistrer les nouvelles entrées a partir du bouton, ca passe pas.

De plus, peux tu m'expliquer ton code stp ?

Merci beaucoup ;)
 

degap05

XLDnaute Impliqué
Re : Verrouillage de cellule qui empeche mes macros...

Bonjour et avec ceci dans ThisWorkBook ?

Private Sub Workbook_Open()
'pour autoriser la saisie de données par Userform sur des cellules verrouillées
Dim Wksht As Worksheet
For Each Wksht In Me.Worksheets
Wksht.Protect UserInterfaceOnly:=True
Next Wksht
End Sub

????
 

chris

XLDnaute Barbatruc
Re : Verrouillage de cellule qui empeche mes macros...

Bonjour

Benjo à dit:
Malheureusement ca ne fonctionne toujours pas.
Quand tu va dans la feuille 1 et que tu essaies de d'enregistrer les nouvelles entrées a partir du bouton

Dans le classeur que j'ai transmis cela marche avec le bouton (j'avais évidement testé).

Est-ce la recopie dans ton classeur qui ne marche pas ?

Attention le code de la feuill2 est également modifié.

Si tu as une version 2000, la ligne protect pourrait ne pas marcher car les options de protection sont différentes mais tu ne précises rien...
 

Benjo

XLDnaute Junior
Re : Verrouillage de cellule qui empeche mes macros...

Salut les amis
effectivement, je suis désolé, j'ai pas précisé. je suis sous excel2000. Et le secodne code, celui de staple fonctionne tres bien.

Vosu avez modifié mon code pour copier la cellule dans un autre onglet, et je prefere le votre qui me semble plus leger.

merci beaucoup de votre aide qui m'a aidé tres préciseuse. :)

A bientot
 

Discussions similaires

Statistiques des forums

Discussions
312 230
Messages
2 086 428
Membres
103 207
dernier inscrit
Michel67