XL 2010 mise à jour tdc par vba sur feuille protégée

Anne13

XLDnaute Nouveau
Bonjour,
je crée mes premiers formulaires en vba afin de compléter un tableau de stock.
J'ai protégé mes feuilles avec user interface only afin de pouvoir exécuter mes macros sans déprotéger à chaque fois, seulement la mise à jour de mon tableau croisé dynamique ne se fait pas . Je n'ai pas de message d'erreur mais les nouvelles entrée ne sont pas prises en compte. Je ne trouve pas quelle propriété rajouter.Le code fonctionne si je déprotège la feuille contenant le tdc avant la mise à jour.
Merci de votre aide.

voici comment je protège :

Private Sub Workbook_Open()

Dim mdp As String
mdp = "toto"

Worksheets("stock").protect mdp, userinterfaceonly:=True, DrawingObjects:=False, Contents:=True, Scenarios:= _
True, AllowFiltering:=True, AllowUsingPivotTables:=True
Worksheets("bilan").protect mdp, userinterfaceonly:=True, DrawingObjects:=False, Contents:=True, Scenarios:= _
True, AllowFiltering:=True, AllowUsingPivotTables:=True

et comment je mets à jour :
ActiveWorkbook.RefreshAll
 

Pièces jointes

  • test1.xlsm
    34.6 KB · Affichages: 51

gosselien

XLDnaute Barbatruc
Bonjour,

comme ça , je vois une erreur dans la déclaration de noligne :)
niveau des mots de passe, les ai retiré pour tester ceci :)
(ps: tes zone ne sont pas dans un ordre "normal" , on passe d'une à l'autre pas très logiquement)

Code:
Private Sub CommandButton1_Click()
Dim noLigne As Long ' numérique !
Dim Ws1 As Worksheet
'copie les données dans le tableau
With Sheets("stock")
   noLigne = .Range("a65000").End(xlUp).Row + 1
   .Cells(noLigne, 1) = CDate(dateBox)
   .Cells(noLigne, 1).NumberFormat = "m/d/yyyy"
   .Cells(noLigne, 2) = TextBox1.Value
   .Cells(noLigne, 3) = UCase(TextBox3.Value)  'Ucase met en majuscule
   .Cells(noLigne, 4) = UCase(LotBox.Value)
   .Cells(noLigne, 5) = CDbl(masseBox.Value)
End With
Worksheets("bilan").Select
ActiveWorkbook.RefreshAll
Unload Me
End Sub

P.
 

Anne13

XLDnaute Nouveau
Merci de ton aide, pour l'ordre des box,c'est que j'ai modifié rapidement la forme pour l'envoyer. Mon problème venait justement des mots de passes, le refreshlall n'actualisant pas le tdc. J'ai contourné le problème en mettant dans la feuille du tdc une mise à jour à l'activation, mais sans comprendre pourquoi je ne peux pas le faire dans mon module.
Bonne journée
 

Discussions similaires

Réponses
3
Affichages
591

Membres actuellement en ligne

Statistiques des forums

Discussions
312 321
Messages
2 087 266
Membres
103 501
dernier inscrit
talebafia