Macro et mot de passe

Résolu
eric2027 -  
 eric2027 -
Bonjour, le Forum,

j'ai un gros problème, j'ai un fichier ou j'ai mis des formules de calcul avec un mot de passe
( erreur d'exécution 1004), ainsi q'une macro, quand j'ouvre l'userform et je clique sur une zone de cette dernière, ma macro se bloque.

Aussi ma question, est ce qu'une macro et des formules avec un mot de passe ne vont pas ensembles ?

Par avance, merci pour me renseigner

Cordialement

Éric2027



A voir également:

12 réponses

via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Bonsoir

C'est parfaitement compatible mais qu'as tu protégé ? une feuille ou le classeur ?
Si ta macro intervient sur la feuille (entrée, modification de données) ou sur sa structure il faut en début de macro déprotéger la feuille ou le classeur et reprotéger avant la sortie

Impossible d'en dire plus sans voir un exemple de ton fichier et de sa macro

Cdlmnt
0
eric2027
 
bonsoir via55,

Je t'envois mon fichier sur cijoint

http://cjoint.com/?EAwtOf0OeqP

Par avance, merci, parce quee j'essaie plein de truc et je me perd et puis je n'arrive pas a comprendre

Si ta macro intervient sur la feuille (entrée, modification de données), je ne trouve pas entrée,
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Bonsoir eric

Quand je disais entrée je parlais d'entrée de données

Ta macro fonctionne sur les feuilles de ton classeur non protégées et bloque bien sûr sur la feuille protégée, comme je te le disais dans mon précédent message il faut déprotéger la feuille en début de macro et la reprotéger à la fin

Private Sub GrLabel_Click()
ActiveSheet.Unprotect ("tonmotdepasse")
  Selection.Interior.Color = GrLabel.BackColor
  Selection.Font.Color = GrLabel.ForeColor
  Selection.Value = GrLabel.Caption
ActiveSheet.Protect ("tonmotdepasse")
End Sub


En remplaçant bien sur tonmotdepasse par ton vrai mot de passe !

Cdlmnt
0
eric2027
 
via55

un message qui me bug

WithEvents GrLabel As Msforms.Label

alors là, pour moi c'est le néant
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eric2027
 
J'ai beau essayer divers manipulations, mais rien ni fait, tout me bug
maintenant c'est "Userform.show" en jaune qui me fait bugger
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Re

As tu modifié la macro comme je t'ai indiqué ?

Je ne sais pas ce que tu as fait donc pas moyen de savoir ce qui cloche

Renvoie moi le fichier avec tes modifications et en indiquant surtout le mot de passe utilisé (tu peux en changer avant de m'envoyer le fichier et tu remettras le tien après)

0
eric2027
 
ok, je t'envois mon fichier

mdp open

http://cjoint.com/?EAwxlKv9a2F

j'ai du m'emmêler les pieds mais je ne comprend plus rien certainement la fatigue

encore mille merci de m'aider et de te prendre ton temps
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Je ne sais pas ce que tu as fait sur le second fichier et tu utilises un classmodul avec lequel je ne suis pas familier

J'ai repris ton premier fichier qui fonctionnait et remis dans la macro du Classmodul la deprotection et la reprotection de la feuille avec le mot de passe open; j'ai également ajouté une 1ere ligne pour sortir de la macro sans rien faire si on clique au-delà de la colonne 5 , sinon on risquait d'effacer les formules

https://www.cjoint.com/?0AwxH3oXBlz

Je ne comprends pas tout ce que tu veux faire avec ces manipulations mais je pense que tu te compliques la vie et qu'il y a plus simple pour arriver au même résultat !

Cdlmnt



"L'imagination est plus importante que le savoir." A. Einstein
0
eric2027
 
via,

ça marche super bien, je suis encore éblouie par ton savoir sur mon problème, j'ai tellement galéré que j'aurai du demander de l'aide sur CCM, moi qui suis un habitué récurant de ce site parce que vous êtes toujours à l'écoute des gens comme moi qui n'ont pas votre savoir, et vous , vous investissez avec autant de foi et de gentillesse que grâce à vous, à toi , je me sors de cette galère.

Une dernière question ; j'ai également ajouté une 1ere ligne pour sortir de la macro sans rien faire si on clique au-delà de la colonne 5 , sinon on risquait d'effacer les formules ,

là, je suis à l'ouest, je ne comprend pas ? peux-tu m'expliquer stp
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Dans Classlabel j'ai rajouté en début de macro cette ligne :
If ActiveCell.Column > 5 Then Exit Sub

En effet ta macro a pour effet de copier la couleur et le texte choisi dans ta Listbox et de l'appliquer à la cellule active de la feuille (celle dans laquelle on clique), comme pour que cette action puisse avoir lieu la feuille est momentanément déprotégée par la ligne suivante de la macro ActiveSheet.Unprotect ("open"), si on clique par mégarde dans une des 2 colonnes 6 ou 7 (F ou G) la macro fera son travail et du coup effacerait la formule (ce que tu a voulu éviter en protégeant la feuille).
D'où la ligne rajoutée, tant qu'on clique dans une colonne inférieure à la 5eme la macro s'effectue sinon il y a sortie (Exit Sub) avant d'effectuer les actions des lignes suivantes

Voilà

Bonne suite

0
eric2027
 
Bonjour via, j'ai refais la macro point par point et c'est génial

Encore merci à toi et au Forum.

Peux-tu mettre en résolu s'il te plait parce que je n'ai pas accès à résolu.

Éric 2027
0
Maurice
 
Bonjout
pour le plaisir
tu a 41 Label

Private Sub UserForm_Activate()
T = 6
   For I = 1 To 41
      Me("Label" & I).BackColor = Sheets("couleurs").Cells(I, 1).Interior.Color
      Me("Label" & I).ForeColor = Sheets("couleurs").Cells(I, 1).Font.Color
      Me("Label" & I).Caption = Sheets("couleurs").Cells(I, 1)
      Me("Label" & I).ControlTipText = Sheets("couleurs").Cells(I, 2)
      Me("Label" & I).Top = T
      Me("Label" & I).Height = 12
      Me("Label" & I).Left = 6
      Me("Label" & I).Width = 72
      T = T + 12
         Set Lbl(I).GrLabel = Me("Label" & I)
   Next I
   With UserForm1 'Enlever 2 si userform 1
      .Left = 1150 'modifie les chiffre pour faire déplacer la userform
      .Top = 150
   End With
End Sub

A+
Maurice
0
eric2027
 
Bonjour,

j'ai essayé mais cela ne m'apporte rien sinon, bogage
@+
0