protection

  • Initiateur de la discussion com
  • Date de début
C

com

Guest
bonjour,

on voudrait proteger un programme mais lorsque l'on utilise le verrouillage des cellules certaines macros ne marchent plus. on veut empecher les utilisateurs de changer les formules.
comment faire?
merci
 
@

@lex

Guest
Boujour à tous

En parlant de protections, je cherche un moyen de proteger un "logiciel" (en fait une page excel bien poussé) des copies (gravures) : mes utilisateurs potentiels ne sont pas d'excellent informaticiens mais assez proches les uns des autre (donc un simple mot de passe ne suffit pas)

Donc juste un petit programme me permettant par exemple de n'ouvrir la feuille que lorsque le CD ORIGINAL est dans le lecteur...

Une autre solution serai d'utiliser un système de licences par disquettes non copiables... (selon moi plus compliquée mais bien mieux)

Merci d'avance
 
@

@Christophe@

Guest
Re,

Tu peux mettre cette instruction dans un module, tu modifie juste le nom de la feuille que tu veux protégé

pour protégé que certaine cellule:

selectionne toutes tes cellule, fais clique droit, selectionne Formats de Cellule

Selectionne la Tab Protection et décoche la case Véroullé

Maintenant selectionne tes cellules à véroullé et fais la même choses

Bonne chance

@Christophe@
 
@

@Christophe@

Guest
Re,

Com, envoie ton fichier, cette solution fonctionne, crois moi

ou alors envoi un fichier démo et indique en couleur les formule à protégé

Bonne journée

@Christophe@


Pour Alex, un protection total pour un fichier excel, presque pas possible, excel n'est pas fais pour protégé c'est document, malheureusement
 
C

com

Guest
voici un exemple de macro qui ne fontionne pas avec une protection de quelque cellules de la feuille.
La macro s'arrete sur les lignes entourées d'étoiles dans l'exemple:



Sub surface()
'
' surface Macro
'

If Range("A22") = "Référence inconnue" Then
MsgBox ("La référence est incorrecte !!!")
Else
If Range("D21") = "" Then
MsgBox ("Entrer une référence")
Else
If Range("D30") = "" Then
MsgBox ("Entrer la surface prévue")
Else
Range("D30").Select
Selection.Copy
Application.Goto Reference:="R4003C2"
ActiveSheet.Paste
Application.Goto Reference:="R32C4"
Application.CutCopyMode = False
Selection.Copy
Application.Goto Reference:="R4004C2"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.Goto Reference:="R25C4"
Application.CutCopyMode = False
Selection.Copy
Application.Goto Reference:="R4005C2"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A4002").Select
Application.CutCopyMode = False

********************************
* ActiveCell.FormulaR1C1 = "" *
********************************

Range("B4003:B4007").Select
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
Selection.Interior.ColorIndex = xlNone
Selection.Font.ColorIndex = 0
Range("B4003:B4007").Select

********************************
* Selection.Insert Shift:=xlToRight *
********************************

Range("C4006:C4007").Select
Selection.AutoFill Destination:=Range("B4006:C4007"), Type:=xlFillDefault
Range("B4006:C4007").Select
Range("C4008").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-3]C:IuV4005)"
Range("C4009").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-2]C:R[-2]C[252])"
Range("C4010").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-6]C:R[-6]C[252])"
Range("C4008").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-3]C:R[-3]C[252])"
Range("C4009").Select
ActiveWindow.ScrollRow = 3908
ActiveWindow.ScrollRow = 3815
ActiveWindow.ScrollRow = 3722
ActiveWindow.ScrollRow = 3629
ActiveWindow.ScrollRow = 3549
ActiveWindow.ScrollRow = 3456
ActiveWindow.ScrollRow = 3350
ActiveWindow.ScrollRow = 3243
ActiveWindow.ScrollRow = 3124
ActiveWindow.ScrollRow = 3004
ActiveWindow.ScrollRow = 2871
ActiveWindow.ScrollRow = 2738
ActiveWindow.ScrollRow = 2632
ActiveWindow.ScrollRow = 2539
ActiveWindow.ScrollRow = 2446
ActiveWindow.ScrollRow = 2366
ActiveWindow.ScrollRow = 2300
ActiveWindow.ScrollRow = 2220
ActiveWindow.ScrollRow = 2127
ActiveWindow.ScrollRow = 2061
ActiveWindow.ScrollRow = 1981
ActiveWindow.ScrollRow = 1901
ActiveWindow.ScrollRow = 1822
ActiveWindow.ScrollRow = 1729
ActiveWindow.ScrollRow = 1649
ActiveWindow.ScrollRow = 1569
ActiveWindow.ScrollRow = 1503
ActiveWindow.ScrollRow = 1436
ActiveWindow.ScrollRow = 1396
ActiveWindow.ScrollRow = 1383
ActiveWindow.ScrollRow = 1370
ActiveWindow.ScrollRow = 1356
ActiveWindow.ScrollRow = 1317
ActiveWindow.ScrollRow = 1277
ActiveWindow.ScrollRow = 1224
ActiveWindow.ScrollRow = 1184
ActiveWindow.ScrollRow = 1144
ActiveWindow.ScrollRow = 1091
ActiveWindow.ScrollRow = 1051
ActiveWindow.ScrollRow = 1038
ActiveWindow.ScrollRow = 998
ActiveWindow.ScrollRow = 984
ActiveWindow.ScrollRow = 971
ActiveWindow.ScrollRow = 958
ActiveWindow.ScrollRow = 945
ActiveWindow.ScrollRow = 938
ActiveWindow.ScrollRow = 925
ActiveWindow.ScrollRow = 911
ActiveWindow.ScrollRow = 905
ActiveWindow.ScrollRow = 865
ActiveWindow.ScrollRow = 858
ActiveWindow.ScrollRow = 851
ActiveWindow.ScrollRow = 845
ActiveWindow.ScrollRow = 838
ActiveWindow.ScrollRow = 832
ActiveWindow.ScrollRow = 825
ActiveWindow.ScrollRow = 818
ActiveWindow.ScrollRow = 805
ActiveWindow.ScrollRow = 792
ActiveWindow.ScrollRow = 785
ActiveWindow.ScrollRow = 772
ActiveWindow.ScrollRow = 765
ActiveWindow.ScrollRow = 758
ActiveWindow.ScrollRow = 752
ActiveWindow.ScrollRow = 745
ActiveWindow.ScrollRow = 739
ActiveWindow.ScrollRow = 732
ActiveWindow.ScrollRow = 719
ActiveWindow.ScrollRow = 705
ActiveWindow.ScrollRow = 699
ActiveWindow.ScrollRow = 685
ActiveWindow.ScrollRow = 679
ActiveWindow.ScrollRow = 672
ActiveWindow.ScrollRow = 665
ActiveWindow.ScrollRow = 659
ActiveWindow.ScrollRow = 652
ActiveWindow.ScrollRow = 646
ActiveWindow.ScrollRow = 639
ActiveWindow.ScrollRow = 632
ActiveWindow.ScrollRow = 626
ActiveWindow.ScrollRow = 619
ActiveWindow.ScrollRow = 612
ActiveWindow.ScrollRow = 606
ActiveWindow.ScrollRow = 599
ActiveWindow.ScrollRow = 592
ActiveWindow.ScrollRow = 586
ActiveWindow.ScrollRow = 579
ActiveWindow.ScrollRow = 572
ActiveWindow.ScrollRow = 566
ActiveWindow.ScrollRow = 559
ActiveWindow.ScrollRow = 552
ActiveWindow.ScrollRow = 546
ActiveWindow.ScrollRow = 539
ActiveWindow.ScrollRow = 533
ActiveWindow.ScrollRow = 526
ActiveWindow.ScrollRow = 519
ActiveWindow.ScrollRow = 513
ActiveWindow.ScrollRow = 506
ActiveWindow.ScrollRow = 499
ActiveWindow.ScrollRow = 493
ActiveWindow.ScrollRow = 486
ActiveWindow.ScrollRow = 479
ActiveWindow.ScrollRow = 473
ActiveWindow.ScrollRow = 466
ActiveWindow.ScrollRow = 459
ActiveWindow.ScrollRow = 453
ActiveWindow.ScrollRow = 446
ActiveWindow.ScrollRow = 440
ActiveWindow.ScrollRow = 433
ActiveWindow.ScrollRow = 426
ActiveWindow.ScrollRow = 420
ActiveWindow.ScrollRow = 413
ActiveWindow.ScrollRow = 406
ActiveWindow.ScrollRow = 400
ActiveWindow.ScrollRow = 393
ActiveWindow.ScrollRow = 386
ActiveWindow.ScrollRow = 380
ActiveWindow.ScrollRow = 373
ActiveWindow.ScrollRow = 366
ActiveWindow.ScrollRow = 360
ActiveWindow.ScrollRow = 353
ActiveWindow.ScrollRow = 347
ActiveWindow.ScrollRow = 340
ActiveWindow.ScrollRow = 333
ActiveWindow.ScrollRow = 327
ActiveWindow.ScrollRow = 320
ActiveWindow.ScrollRow = 313
ActiveWindow.ScrollRow = 307
ActiveWindow.ScrollRow = 300
ActiveWindow.ScrollRow = 293
ActiveWindow.ScrollRow = 287
ActiveWindow.ScrollRow = 280
ActiveWindow.ScrollRow = 273
ActiveWindow.ScrollRow = 267
ActiveWindow.ScrollRow = 260
ActiveWindow.ScrollRow = 253
ActiveWindow.ScrollRow = 247
ActiveWindow.ScrollRow = 240
ActiveWindow.ScrollRow = 234
ActiveWindow.ScrollRow = 227
ActiveWindow.ScrollRow = 220
ActiveWindow.ScrollRow = 214
ActiveWindow.ScrollRow = 207
ActiveWindow.ScrollRow = 200
ActiveWindow.ScrollRow = 194
ActiveWindow.ScrollRow = 187
ActiveWindow.ScrollRow = 180
ActiveWindow.ScrollRow = 174
ActiveWindow.ScrollRow = 167
ActiveWindow.ScrollRow = 160
ActiveWindow.ScrollRow = 154
ActiveWindow.ScrollRow = 147
ActiveWindow.ScrollRow = 141
ActiveWindow.ScrollRow = 134
ActiveWindow.ScrollRow = 127
ActiveWindow.ScrollRow = 121
ActiveWindow.ScrollRow = 114
ActiveWindow.ScrollRow = 107
ActiveWindow.ScrollRow = 101
ActiveWindow.ScrollRow = 94
ActiveWindow.ScrollRow = 87
ActiveWindow.ScrollRow = 81
ActiveWindow.ScrollRow = 74
ActiveWindow.ScrollRow = 67
ActiveWindow.ScrollRow = 61
ActiveWindow.ScrollRow = 54
ActiveWindow.ScrollRow = 48
ActiveWindow.ScrollRow = 41
ActiveWindow.ScrollRow = 34
ActiveWindow.ScrollRow = 28
ActiveWindow.ScrollRow = 21
Range("D30").Select
Selection.ClearContents
Range("D21").Select
Selection.ClearContents
ActiveWindow.SmallScroll Down:=-2
End If
End If
End If
End Sub





Merci d'avance
 
@

@Christophe@

Guest
RE,

Regarde dans le fichier suivant:

Ma feuille est protégé à l'ouverture, ma macro s'exécute arpès click sur command button. Uniquement la cellule en jaune C18 est déprotégé pour permettre à l'utilisateur d'entré son nom.

bonne chance

@Christophe@
 

Pièces jointes

  • Protection.zip
    10.2 KB · Affichages: 10
  • Protection.zip
    10.2 KB · Affichages: 9
  • Protection.zip
    10.2 KB · Affichages: 11

Discussions similaires

Réponses
3
Affichages
204
Réponses
7
Affichages
169

Statistiques des forums

Discussions
312 367
Messages
2 087 644
Membres
103 627
dernier inscrit
nabil