Déblocage des macros.

Reaper6627

XLDnaute Nouveau
Boujour à tous!

Alors voila mon problème: je dispose d'un fichiers qui reprend dépenses par poste et par mois, et j'ai fait des graphiques pour combiner tout ça. Jusque là pas de problèmes! Ensuite j'ai créé sur chaque graphique des linear trend, que j'ai automatisé par le biais de macros, et là non plus je n'ai pas trop de soucis!
Là où se pose mon problème, c'est que il s'agit d'un fichier assez lourd au niveau formules de calculs et je l'ai donc verrouillé en faisant exception de quelques cellules indispensables telles que les rechercheV nécessaires au graphiques! Cependant, lorsque que je clique sur mes boutons de macro alors que la feuille est protégée, je reçoit un message d'erreur de la macro, surement parce-que cette dernière est bloquer par le verrouillage de la feuille.
J'aimerai donc savoir si déjà c'est possible de déverrouiller mes boutons de macros sans avoir à déverrouiller la feuille, et si oui, comment le faire!

Merci d'avance!
 
C

Compte Supprimé 979

Guest
Re : Déblocage des macros.

Bonjour Reaper6627 et bienvenue sur le forum

Je pense que ce qui se produit c'est une mise à jour de ta feuille et comme elle est protégée... ça bug ;)

Ce qu'il faut faire, c'est mettre dans ton code de bouton
Code:
Sub Bouton_OnClick()
Sheets("Nom").Unprotect
' Code existant
Sheets("Nom").Protect
End Sub
A+
 

Reaper6627

XLDnaute Nouveau
Re : Déblocage des macros.

Merci pour la précision! :)
Mais maintenant un autre problème se pose. J'ai bien agencé le script comme tu me la dit, mais lorsque je clique sur le bouton, j'ai un message d'erreur sur le VBA qui dit:

"Erreur de compilation
Nom ambigu détecté : Bouton_OnClick"


Je met ci dessous le script que j'ai, est-ce que on pourrai me le corriger? SVP!

"Sub Bouton_OnClick()
Sheets("Nom").Unprotect
Sub Aff_Linear_Trend()
'
' Aff_Linear_Trend Macro
' Macro enregistrée le 16/06/2010 par verdierg
'

'
ActiveSheet.ChartObjects("Graphique 7").Activate
ActiveChart.Axes(xlCategory).Select
ActiveChart.SeriesCollection(1).Select
ActiveChart.SeriesCollection(1).Trendlines.Add(Type:=xlLinear, Forward:=0, _
Backward:=0, DisplayEquation:=False, DisplayRSquared:=False).Select
ActiveWindow.Visible = False
Windows("May 2010 expense vs Plan.xls").Activate
Range("E93").Select
End Sub
Sheets("Nom").Protect
End Sub
Sub Bouton_OnClick()
Sheets("Nom").Unprotect
Sub Delete_Linear_Trend()
'
' Delete_Linear_Trend Macro
' Macro enregistrée le 16/06/2010 par verdierg
'

'
ActiveSheet.ChartObjects("Graphique 7").Activate
ActiveChart.SeriesCollection(1).Trendlines(1).Select
Selection.Delete
ActiveWindow.Visible = False
Windows("May 2010 expense vs Plan.xls").Activate
Range("E93").Select
End Sub
Sheets("Nom").Protect
End Sub"
 
C

Compte Supprimé 979

Guest
Re : Déblocage des macros.

Re,

Ma c pas possibleeeeeeeé :D

Quand j'ai mis : Sub Bouton_OnClick()
C'est pour te situer dans quoi tu devais mettre ton UnProtect et Protect

Merci de nous joindre ton fichier, sinon on ne va pas s'en sortir
Si trop lourd pous le site, merci de le mettre sur Cijoint.fr

A+
 

Reaper6627

XLDnaute Nouveau
Re : Déblocage des macros.

Ok je vois ce que tu veux dire! ^^ Mes compétences en programmation sont très limitées donc désolé pour l'incompréhension!:)

Je ne peux pas fournir le fichier du fait que ce sont des données professionnelles assez sensibles!
 

dva

XLDnaute Nouveau
Re : Déblocage des macros.

Ca semble clair !
Dans ta procédure tu as imbriqué une autre procédure ce qui n'est pas permis.
Si tu veux faire appel à ta procédure Aff_Linear_Trend() alors ton code devient :

Sub Bouton_OnClick()
Sheets("Nom").Unprotect
Call Aff_Linear_Trend()
...
Sheets("Nom").Protect
End Sub"

donc jamais de sub dans sub et pareil avec les fonctions
 

jeanpierre

Nous a quitté
Repose en paix
Re : Déblocage des macros.

Bonjour Reaper6627, le fil,

Lorsque je lis "Je ne peux pas fournir le fichier du fait que ce sont des données professionnelles assez sensibles!", je dis NON...

Les seules données sensibles sont, par exemple, des noms de personne, des adresses, des téléphones et autres adresses email.....

Les chiffres, les nombres, les valeurs ???? C'est le rôle d'un tableur de traiter ce genre de chose et ces données ne sont pas sensibles, cela peut être des carottes, des billes, des euros pourquoi pas...

De là, vas-tu peut-être te décider à joindre un fichier ?

Bon après-midi.

Jean-Pierre
 

Reaper6627

XLDnaute Nouveau
Re : Déblocage des macros.

Bonjour Reaper6627, le fil,

Lorsque je lis "Je ne peux pas fournir le fichier du fait que ce sont des données professionnelles assez sensibles!", je dis NON...

Les seules données sensibles sont, par exemple, des noms de personne, des adresses, des téléphones et autres adresses email.....

Les chiffres, les nombres, les valeurs ???? C'est le rôle d'un tableur de traiter ce genre de chose et ces données ne sont pas sensibles, cela peut être des carottes, des billes, des euros pourquoi pas...

De là, vas-tu peut-être te décider à joindre un fichier ?

Bon après-midi.

Jean-Pierre

Excuse moi, mais si je dis que ce sont des données sensibles, c'est qu'elles le sont! Maintenant, si je n'est pas été assez clair sur le problème que je rencontre, je suis tout à fait disposé à fournir d'autres détails!

Et sinon, j'ai bien remplacé le deuxième "Sub" par "Call". Le problème c'est que j'ai toujours une erreur de compilation! Alors qu'est-ce que c'est une erreur de "compilation", et quels sont les causes les plus fréquentes de ce genre d'erreurs?

Merci.
 
C

Compte Supprimé 979

Guest
Re : Déblocage des macros.

Re,
Bonjour mon cher Jeanpierre, de tout coeur avec toi ...
Mais fait attention à ton coeur tout de même ;) :)

On va essayer de faire sans, mais pas lontemps ... :rolleyes:

1) Une procédure est un code qui commence par Sub ... et fini par End Sub
entre ses 2 "balises" tu as le code de ta macro

2) Quand tu fais un clique droit sur ton bouton, tu as soit
a) Affecter une macro (bouton de formulaire)
b) Visualiser le code (bouton de contrôles)

3) Dans les 2 cas il faut entrer dans ce fameux code
et mettre au tout début de ton code le "Unprotect"
et à la fin le "Protect"
comme je te l'ai indiqué et inscrit

Maintenant si avec ça tu ne trouves pas,
désolé pour toi mais nous ne pourrons rien faire :(
 
Dernière modification par un modérateur:

jeanpierre

Nous a quitté
Repose en paix
Re : Déblocage des macros.

Re, Bruno,

"Excuse moi, mais si je dis que ce sont des données sensibles, c'est qu'elles le sont!"

As-tu bien lu ma réponse ? Non c'est certain...

Excuse moi mais tu n'as rien compris.... Sauf s'il s'agit de formulation pour créer une bombe atomique......

Founir d'autres détails risquent de ne servir à rien puisque c'est sensible....

On tourne en rond et en recré le manège...

Jean-Pierre
 

Reaper6627

XLDnaute Nouveau
Re : Déblocage des macros.

Re, Bruno,

"Excuse moi, mais si je dis que ce sont des données sensibles, c'est qu'elles le sont!"

As-tu bien lu ma réponse ? Non c'est certain...

Excuse moi mais tu n'as rien compris.... Sauf s'il s'agit de formulation pour créer une bombe atomique......

Founir d'autres détails risquent de ne servir à rien puisque c'est sensible....

On tourne en rond et en recré le manège...

Jean-Pierre

Désolé mais j'ai exposé le problème assez clairement, je pense! Mais ne vous inquiétez pas pour moi je trouverais la solution seul vu que des fans d'excel ne sont pas capable de comprendre un problème simple et de répondre par une réponse simple!
En effet on tourne en rond...mais comme je l'ai dit si vous voulez des explications supplémentaires, aucuns problèmes! Mais je reste sur ma position: je ne fournirai aucuns fichiers!
Et je persiste à dire que si je ne fournis aucuns fichiers, c'est qu'il y a des raisons! Raisons qui vous dépassent peut-être, mais ces données ne concernent personnes, points barres!! J'espère que vous etes capable de comprendre ceci! Si ce n'est pas le cas, je ne vois pas ce que je peux faire!

Cordialement
 

Ubot303

XLDnaute Occasionnel
Re : Déblocage des macros.

Bonjour à tous,

Pas de bagarre !
On pourrait aller plus vite avec le fichier, mais visiblement ce n'est pas possible...
Pour la bombe atomique, tout le monde qui a google sait en fabriquer une !
Des données ne sont sensibles que si l'on sait à quoi et à qui elles se rapportent

Par contre, en parlant de ca, tu as donné un nom (côté donnée sensible c'est pas top)

Reaper :

Sub Aff_Linear_Trend()
'
' Aff_Linear_Trend Macro
' Macro enregistrée le 16/06/2010 par verdierg
'

'
ActiveSheet.ChartObjects("Graphique 7").Activate

Il s'agit du début de ta macro créée par M. Verdierg qui n'est pas toi visiblement :D
La réponse est dans le post 2, à savoir :

Sub Aff_Linear_Trend()
'
' Aff_Linear_Trend Macro
' Macro enregistrée le 16/06/2010 par verdierg
'

'
Sheets("Nom").Unprotect Motdepasse
ActiveSheet.ChartObjects("Graphique 7").Activate

Attention : il faut remplacer Nom par le nom de l'onglet / de la feuille et Motdepasse par le mot de passe pour déverrouiller (si pas de mot de passe, ne rien mettre).

Voila :D
 
Dernière édition:

Discussions similaires

Réponses
16
Affichages
719

Statistiques des forums

Discussions
312 779
Messages
2 092 047
Membres
105 168
dernier inscrit
makari69