Insertion Commentaire, le retour
Résolu
bayard33920
-
bayard33920 -
bayard33920 -
Suite aux différentes modifications apportées à mon fichier, c'est maintenant la fonction principale qui fait des siennes.
Dans le fichier joint, en incrémentant la colonne AJ, un même nombre de cellules bleues doivent apparaitre sur la ligne correspondante mais là j'ai une erreur d'execution 1004.
Je ne comprends pas d'où cela peut venir.
Au secours
http://www.cijoint.fr/cjlink.php?file=cj201004/cijDiXqf0K.zip
Merci
Dans le fichier joint, en incrémentant la colonne AJ, un même nombre de cellules bleues doivent apparaitre sur la ligne correspondante mais là j'ai une erreur d'execution 1004.
Je ne comprends pas d'où cela peut venir.
Au secours
http://www.cijoint.fr/cjlink.php?file=cj201004/cijDiXqf0K.zip
Merci
A voir également:
- Insertion Commentaire, le retour
- Commentaire word - Guide
- Touche insertion clavier - Guide
- Insertion sommaire word - Guide
- Insertion filigrane word - Guide
- Insertion liste déroulante excel - Guide
4 réponses
Bonjour,
Tu fais une validation Liste, sans préciser la liste... Il manque l'argument Formula qui indique la liste:
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:="=LST"
J'ai repris LST, mais il faut que nommes ta liste de ce nom, ce qui n'est pas le cas dans ton classeur.
Pour la protection, ta macro événementielle selectionChange ne va pas du tout.
Il faut que tu dises que si tu sélectionnes telle ou telle cellule, on déprotège, sinon on protège... Donc tu vires la première partie du code ce qui donnerait :
J'ai pas trop regardé le reste, mais à mon avis il restera des problèmes...
Juste à titre indicatif, Monsieur s'écrit M. en abrégé et non pas Mr qui est anglais (Mister).
m@rina
- "Sur le forum bureautique, on pose des questions concernant la bureautique..."
- "Ah bon ???"
Tu fais une validation Liste, sans préciser la liste... Il manque l'argument Formula qui indique la liste:
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:="=LST"
J'ai repris LST, mais il faut que nommes ta liste de ce nom, ce qui n'est pas le cas dans ton classeur.
Pour la protection, ta macro événementielle selectionChange ne va pas du tout.
Il faut que tu dises que si tu sélectionnes telle ou telle cellule, on déprotège, sinon on protège... Donc tu vires la première partie du code ce qui donnerait :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not (Application.Intersect(Target, Range("AJ2:AJ" & Cells(2000, 2).End(xlUp).Row)) Is Nothing) Then ActiveSheet.Unprotect Password:=Mot_de_passe Else ActiveSheet.Protect Password:=Mot_de_passe End If End Sub
J'ai pas trop regardé le reste, mais à mon avis il restera des problèmes...
Juste à titre indicatif, Monsieur s'écrit M. en abrégé et non pas Mr qui est anglais (Mister).
m@rina
- "Sur le forum bureautique, on pose des questions concernant la bureautique..."
- "Ah bon ???"
J'ai réussi à palier au problème en mettant une partie du code en commentaire (pour le moment)
' With Range(Cells(i, 3), Cells(i, J)).Validation
' .Delete
' .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _ <--- (c'est là que ça bloquait)
' Operator:=xlBetween
' .IgnoreBlank = True
' .InCellDropdown = True
' .InputTitle = ""
' .ErrorTitle = ""
' .InputMessage = ""
' .ErrorMessage = ""
' .ShowInput = True
' .ShowError = True
' End With
Un autre problème est apparu, lorsque je déprotège ma feuille avec le mot de passe, le premier clic la reprotège automatiquement donc je ne peux plus rien modifier. ça craint un peu
' With Range(Cells(i, 3), Cells(i, J)).Validation
' .Delete
' .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _ <--- (c'est là que ça bloquait)
' Operator:=xlBetween
' .IgnoreBlank = True
' .InCellDropdown = True
' .InputTitle = ""
' .ErrorTitle = ""
' .InputMessage = ""
' .ErrorMessage = ""
' .ShowInput = True
' .ShowError = True
' End With
Un autre problème est apparu, lorsque je déprotège ma feuille avec le mot de passe, le premier clic la reprotège automatiquement donc je ne peux plus rien modifier. ça craint un peu
Je n'ai pas bien compris ce que tu veux faire.
Mon code fait la chose suivante :
Lorque tu sélectiones une cellule de la colonne AJ, la feuille se déverrouille. Lorsque tu cliques sur une autre cellule que celle de la colonne AJ, la feuille se verrouille.
Donc effectivement tu as un verrouillage dès que tu cliques en dehors de cette colonne.
Mais, à vrai dire je ne sais pas ce que tu veux faire. Tu aurais dû rester dans le topic d'origine.
m@rina
- "Sur le forum bureautique, on pose des questions concernant la bureautique..."
- "Ah bon ???"
Mon code fait la chose suivante :
Lorque tu sélectiones une cellule de la colonne AJ, la feuille se déverrouille. Lorsque tu cliques sur une autre cellule que celle de la colonne AJ, la feuille se verrouille.
Donc effectivement tu as un verrouillage dès que tu cliques en dehors de cette colonne.
Mais, à vrai dire je ne sais pas ce que tu veux faire. Tu aurais dû rester dans le topic d'origine.
m@rina
- "Sur le forum bureautique, on pose des questions concernant la bureautique..."
- "Ah bon ???"
La feuille qui est en fichier joint est suceptible d'être reproduit 12 fois (12 mois pour faire 1 an) chaque mois ayant un calendrier (jour semaine et date) différent, je dois pouvoir devérouiller la totalité de la feuille pour faire ces modifications alors que actuellemnt, en déverouillant je n'ai pas le temps de changer quoi que se soit elle se reprotège aussitôt.
Cela n'a plus rien à voir avec le principe de réservation avec commentaire, c'est juste pour faire une mise en page mensuelle
Cela n'a plus rien à voir avec le principe de réservation avec commentaire, c'est juste pour faire une mise en page mensuelle
Tu ne crois pas que le plus simple serait de faire un bouton bascule (togglebutton) qui verrouille et déverrouille en cliquant dessus ? AInsi tu es maître de la situation.
Par ailleurs, je suppose que tu verrouilles afin d'éviter les mauvaises manip d'autres utilisateurs. Si tu crées une événementielle qui verrouille et déverrouille avec le mdp dans le code, tout le monde en profitera.
m@rina
Par ailleurs, je suppose que tu verrouilles afin d'éviter les mauvaises manip d'autres utilisateurs. Si tu crées une événementielle qui verrouille et déverrouille avec le mdp dans le code, tout le monde en profitera.
m@rina
Le problème de la liste est réglé, ça y est.
Mais pour la protection, rien de nouveau.
Dans le code actuel, il faut que je mette une ligne en commentaire pour que la protection ne se réactive pas toute seule à chaque clic
__________________________________________________________________________________
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Const couleur_modifiable As Long = 34
Const Mot_de_passe As String = "toto"
ActiveSheet.Protect Password:=Mot_de_passe 'A mettre en commentaire
If ((Target.Count = 1) And (Target.Interior.ColorIndex = couleur_modifiable)) Then
ActiveSheet.Protect Password:=Mot_de_passe
End If
If Not (Application.Intersect(Target, Range("AJ2:AJ" & Cells(2000, 2).End(xlUp).Row)) Is Nothing) Then
ActiveSheet.Protect Password:=Mot_de_passe
End If
End Sub
__________________________________________________________________________________
J'ai aussi remplacé mon code par le tien et même problème :)
C'est un peu embêtant mais il n'y a pas de modifs tous les jours
M. Bayard