Bonjour,
Dans une feuille même non protégée, lorsque je sélectionne certaines
cellules, je ne peux plus faire Format/Cellule car cela n'affiche plus la
boîte de dialogue attendue (mais je peux toujours la sélectionner et aucune
touche n'est grisée ...).
Alors qu'avant cela fonctionnait sans problème.
De même, j'ai une macro évènementielle qui bloque à l'activation de la
feuille (contrairement à ce qui se passait avant ... ) avec pour message
Erreur d'exécution 1004 "Impossible de définir la propriété LineStyle de la
classe Border sur la ligne :
.Borders(xlEdgeLeft).LineStyle = xlContinuous
Y-a-t-il une explication à cela , ou une mise à jour peut-elle expliquer
cette réaction de Excel (ça fait la même chose sur 2000, 2003 ou 2007 ...)
Ci-dessous le code qui est placé dans la feuille du VBA.
Merci à tous
****************************
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
Application.EnableEvents = False
ActiveSheet.Unprotect "alma"
Range("A2:AF14,A17:AF29,A32:AF44").Select
Range("AF44").Activate
With Selection
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
End With
ActiveSheet.Protect "alma", True, True, True
Range("A1").Select
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
**************************************
Private Sub Worksheet_Change(ByVal Target As Range)
Dim temoin As Boolean
Sheets("3 months list").Unprotect "alma"
If Not Intersect(Target, Range("AG1")) Is Nothing And Target.Count = 1
And Not temoin Then
Application.ScreenUpdating = False ' it doesn't show all the
changements...
temoin = True
For c = 3 To 15
Sheets(Range("AG1").Value).Cells(c, 1).Copy
ActiveSheet.Cells(c - 1, 1).PasteSpecial Paste:=xlPasteFormats
If ActiveSheet.Cells(c - 1, 1).Value = "" Then
Sheets("3 months list").Unprotect "alma"
Rows(c - 1).Hidden = True
Else
Sheets("3 months list").Unprotect "alma"
Rows(c - 1).Hidden = False
End If
Next c
temoin = False
Application.ScreenUpdating = True
End If
If Not Intersect(Target, Range("AG16")) Is Nothing And Target.Count = 1
And Not temoin Then
Application.ScreenUpdating = False ' it doesn't show all the
changements...
temoin = True
For c = 3 To 15
Sheets(Range("AG16").Value).Cells(c, 1).Copy
ActiveSheet.Cells(c + 14, 1).PasteSpecial Paste:=xlPasteFormats
If ActiveSheet.Cells(c + 14, 1).Value = "" Then
Sheets("3 months list").Unprotect "alma"
Rows(c + 14).Hidden = True
Else
Sheets("3 months list").Unprotect "alma"
Rows(c + 14).Hidden = False
End If
Next c
temoin = False
Application.ScreenUpdating = True
End If
If Not Intersect(Target, Range("AG31")) Is Nothing And Target.Count = 1
And Not temoin Then
Application.ScreenUpdating = False ' it doesn't show all the
changements...
temoin = True
For c = 3 To 15
Sheets(Range("AG31").Value).Cells(c, 1).Copy
ActiveSheet.Cells(c + 29, 1).PasteSpecial Paste:=xlPasteFormats
If ActiveSheet.Cells(c + 29, 1).Value = "" Then
Sheets("3 months list").Unprotect "alma"
Rows(c + 29).Hidden = True
Else
Sheets("3 months list").Unprotect "alma"
Rows(c + 29).Hidden = False
End If
Next c
temoin = False
Application.ScreenUpdating = True
End If
Sheets("3 months list").Protect "alma", True, True, True
End Sub
Bonjour,
Dans une feuille même non protégée, lorsque je sélectionne certaines
cellules, je ne peux plus faire Format/Cellule car cela n'affiche plus la
boîte de dialogue attendue (mais je peux toujours la sélectionner et aucune
touche n'est grisée ...).
Alors qu'avant cela fonctionnait sans problème.
De même, j'ai une macro évènementielle qui bloque à l'activation de la
feuille (contrairement à ce qui se passait avant ... ) avec pour message
Erreur d'exécution 1004 "Impossible de définir la propriété LineStyle de la
classe Border sur la ligne :
.Borders(xlEdgeLeft).LineStyle = xlContinuous
Y-a-t-il une explication à cela , ou une mise à jour peut-elle expliquer
cette réaction de Excel (ça fait la même chose sur 2000, 2003 ou 2007 ...)
Ci-dessous le code qui est placé dans la feuille du VBA.
Merci à tous
****************************
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
Application.EnableEvents = False
ActiveSheet.Unprotect "alma"
Range("A2:AF14,A17:AF29,A32:AF44").Select
Range("AF44").Activate
With Selection
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
End With
ActiveSheet.Protect "alma", True, True, True
Range("A1").Select
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
**************************************
Private Sub Worksheet_Change(ByVal Target As Range)
Dim temoin As Boolean
Sheets("3 months list").Unprotect "alma"
If Not Intersect(Target, Range("AG1")) Is Nothing And Target.Count = 1
And Not temoin Then
Application.ScreenUpdating = False ' it doesn't show all the
changements...
temoin = True
For c = 3 To 15
Sheets(Range("AG1").Value).Cells(c, 1).Copy
ActiveSheet.Cells(c - 1, 1).PasteSpecial Paste:=xlPasteFormats
If ActiveSheet.Cells(c - 1, 1).Value = "" Then
Sheets("3 months list").Unprotect "alma"
Rows(c - 1).Hidden = True
Else
Sheets("3 months list").Unprotect "alma"
Rows(c - 1).Hidden = False
End If
Next c
temoin = False
Application.ScreenUpdating = True
End If
If Not Intersect(Target, Range("AG16")) Is Nothing And Target.Count = 1
And Not temoin Then
Application.ScreenUpdating = False ' it doesn't show all the
changements...
temoin = True
For c = 3 To 15
Sheets(Range("AG16").Value).Cells(c, 1).Copy
ActiveSheet.Cells(c + 14, 1).PasteSpecial Paste:=xlPasteFormats
If ActiveSheet.Cells(c + 14, 1).Value = "" Then
Sheets("3 months list").Unprotect "alma"
Rows(c + 14).Hidden = True
Else
Sheets("3 months list").Unprotect "alma"
Rows(c + 14).Hidden = False
End If
Next c
temoin = False
Application.ScreenUpdating = True
End If
If Not Intersect(Target, Range("AG31")) Is Nothing And Target.Count = 1
And Not temoin Then
Application.ScreenUpdating = False ' it doesn't show all the
changements...
temoin = True
For c = 3 To 15
Sheets(Range("AG31").Value).Cells(c, 1).Copy
ActiveSheet.Cells(c + 29, 1).PasteSpecial Paste:=xlPasteFormats
If ActiveSheet.Cells(c + 29, 1).Value = "" Then
Sheets("3 months list").Unprotect "alma"
Rows(c + 29).Hidden = True
Else
Sheets("3 months list").Unprotect "alma"
Rows(c + 29).Hidden = False
End If
Next c
temoin = False
Application.ScreenUpdating = True
End If
Sheets("3 months list").Protect "alma", True, True, True
End Sub
Bonjour,
Dans une feuille même non protégée, lorsque je sélectionne certaines
cellules, je ne peux plus faire Format/Cellule car cela n'affiche plus la
boîte de dialogue attendue (mais je peux toujours la sélectionner et aucune
touche n'est grisée ...).
Alors qu'avant cela fonctionnait sans problème.
De même, j'ai une macro évènementielle qui bloque à l'activation de la
feuille (contrairement à ce qui se passait avant ... ) avec pour message
Erreur d'exécution 1004 "Impossible de définir la propriété LineStyle de la
classe Border sur la ligne :
.Borders(xlEdgeLeft).LineStyle = xlContinuous
Y-a-t-il une explication à cela , ou une mise à jour peut-elle expliquer
cette réaction de Excel (ça fait la même chose sur 2000, 2003 ou 2007 ...)
Ci-dessous le code qui est placé dans la feuille du VBA.
Merci à tous
****************************
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
Application.EnableEvents = False
ActiveSheet.Unprotect "alma"
Range("A2:AF14,A17:AF29,A32:AF44").Select
Range("AF44").Activate
With Selection
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
End With
ActiveSheet.Protect "alma", True, True, True
Range("A1").Select
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
**************************************
Private Sub Worksheet_Change(ByVal Target As Range)
Dim temoin As Boolean
Sheets("3 months list").Unprotect "alma"
If Not Intersect(Target, Range("AG1")) Is Nothing And Target.Count = 1
And Not temoin Then
Application.ScreenUpdating = False ' it doesn't show all the
changements...
temoin = True
For c = 3 To 15
Sheets(Range("AG1").Value).Cells(c, 1).Copy
ActiveSheet.Cells(c - 1, 1).PasteSpecial Paste:=xlPasteFormats
If ActiveSheet.Cells(c - 1, 1).Value = "" Then
Sheets("3 months list").Unprotect "alma"
Rows(c - 1).Hidden = True
Else
Sheets("3 months list").Unprotect "alma"
Rows(c - 1).Hidden = False
End If
Next c
temoin = False
Application.ScreenUpdating = True
End If
If Not Intersect(Target, Range("AG16")) Is Nothing And Target.Count = 1
And Not temoin Then
Application.ScreenUpdating = False ' it doesn't show all the
changements...
temoin = True
For c = 3 To 15
Sheets(Range("AG16").Value).Cells(c, 1).Copy
ActiveSheet.Cells(c + 14, 1).PasteSpecial Paste:=xlPasteFormats
If ActiveSheet.Cells(c + 14, 1).Value = "" Then
Sheets("3 months list").Unprotect "alma"
Rows(c + 14).Hidden = True
Else
Sheets("3 months list").Unprotect "alma"
Rows(c + 14).Hidden = False
End If
Next c
temoin = False
Application.ScreenUpdating = True
End If
If Not Intersect(Target, Range("AG31")) Is Nothing And Target.Count = 1
And Not temoin Then
Application.ScreenUpdating = False ' it doesn't show all the
changements...
temoin = True
For c = 3 To 15
Sheets(Range("AG31").Value).Cells(c, 1).Copy
ActiveSheet.Cells(c + 29, 1).PasteSpecial Paste:=xlPasteFormats
If ActiveSheet.Cells(c + 29, 1).Value = "" Then
Sheets("3 months list").Unprotect "alma"
Rows(c + 29).Hidden = True
Else
Sheets("3 months list").Unprotect "alma"
Rows(c + 29).Hidden = False
End If
Next c
temoin = False
Application.ScreenUpdating = True
End If
Sheets("3 months list").Protect "alma", True, True, True
End Sub
Bonjour,
Test sur une seule cellule si pas encore essayé. Dans ton programme il
semble que t'a bloqué tout changement à cause d'une dépendance.
A+
--
Faut-il travailler pour manger ?
ou
manger pour travailler ?
"Trèfle" wrote:Bonjour,
Dans une feuille même non protégée, lorsque je sélectionne certaines
cellules, je ne peux plus faire Format/Cellule car cela n'affiche plus
la
boîte de dialogue attendue (mais je peux toujours la sélectionner et
aucune
touche n'est grisée ...).
Alors qu'avant cela fonctionnait sans problème.
De même, j'ai une macro évènementielle qui bloque à l'activation de la
feuille (contrairement à ce qui se passait avant ... ) avec pour message
Erreur d'exécution 1004 "Impossible de définir la propriété LineStyle de
la
classe Border sur la ligne :
.Borders(xlEdgeLeft).LineStyle = xlContinuous
Y-a-t-il une explication à cela , ou une mise à jour peut-elle expliquer
cette réaction de Excel (ça fait la même chose sur 2000, 2003 ou 2007
...)
Ci-dessous le code qui est placé dans la feuille du VBA.
Merci à tous
****************************
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
Application.EnableEvents = False
ActiveSheet.Unprotect "alma"
Range("A2:AF14,A17:AF29,A32:AF44").Select
Range("AF44").Activate
With Selection
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
End With
ActiveSheet.Protect "alma", True, True, True
Range("A1").Select
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
**************************************
Private Sub Worksheet_Change(ByVal Target As Range)
Dim temoin As Boolean
Sheets("3 months list").Unprotect "alma"
If Not Intersect(Target, Range("AG1")) Is Nothing And Target.Count =
1
And Not temoin Then
Application.ScreenUpdating = False ' it doesn't show all the
changements...
temoin = True
For c = 3 To 15
Sheets(Range("AG1").Value).Cells(c, 1).Copy
ActiveSheet.Cells(c - 1, 1).PasteSpecial
Paste:=xlPasteFormats
If ActiveSheet.Cells(c - 1, 1).Value = "" Then
Sheets("3 months list").Unprotect "alma"
Rows(c - 1).Hidden = True
Else
Sheets("3 months list").Unprotect "alma"
Rows(c - 1).Hidden = False
End If
Next c
temoin = False
Application.ScreenUpdating = True
End If
If Not Intersect(Target, Range("AG16")) Is Nothing And Target.Count =
1
And Not temoin Then
Application.ScreenUpdating = False ' it doesn't show all the
changements...
temoin = True
For c = 3 To 15
Sheets(Range("AG16").Value).Cells(c, 1).Copy
ActiveSheet.Cells(c + 14, 1).PasteSpecial
Paste:=xlPasteFormats
If ActiveSheet.Cells(c + 14, 1).Value = "" Then
Sheets("3 months list").Unprotect "alma"
Rows(c + 14).Hidden = True
Else
Sheets("3 months list").Unprotect "alma"
Rows(c + 14).Hidden = False
End If
Next c
temoin = False
Application.ScreenUpdating = True
End If
If Not Intersect(Target, Range("AG31")) Is Nothing And Target.Count =
1
And Not temoin Then
Application.ScreenUpdating = False ' it doesn't show all the
changements...
temoin = True
For c = 3 To 15
Sheets(Range("AG31").Value).Cells(c, 1).Copy
ActiveSheet.Cells(c + 29, 1).PasteSpecial
Paste:=xlPasteFormats
If ActiveSheet.Cells(c + 29, 1).Value = "" Then
Sheets("3 months list").Unprotect "alma"
Rows(c + 29).Hidden = True
Else
Sheets("3 months list").Unprotect "alma"
Rows(c + 29).Hidden = False
End If
Next c
temoin = False
Application.ScreenUpdating = True
End If
Sheets("3 months list").Protect "alma", True, True, True
End Sub
Bonjour,
Test sur une seule cellule si pas encore essayé. Dans ton programme il
semble que t'a bloqué tout changement à cause d'une dépendance.
A+
--
Faut-il travailler pour manger ?
ou
manger pour travailler ?
"Trèfle" wrote:
Bonjour,
Dans une feuille même non protégée, lorsque je sélectionne certaines
cellules, je ne peux plus faire Format/Cellule car cela n'affiche plus
la
boîte de dialogue attendue (mais je peux toujours la sélectionner et
aucune
touche n'est grisée ...).
Alors qu'avant cela fonctionnait sans problème.
De même, j'ai une macro évènementielle qui bloque à l'activation de la
feuille (contrairement à ce qui se passait avant ... ) avec pour message
Erreur d'exécution 1004 "Impossible de définir la propriété LineStyle de
la
classe Border sur la ligne :
.Borders(xlEdgeLeft).LineStyle = xlContinuous
Y-a-t-il une explication à cela , ou une mise à jour peut-elle expliquer
cette réaction de Excel (ça fait la même chose sur 2000, 2003 ou 2007
...)
Ci-dessous le code qui est placé dans la feuille du VBA.
Merci à tous
****************************
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
Application.EnableEvents = False
ActiveSheet.Unprotect "alma"
Range("A2:AF14,A17:AF29,A32:AF44").Select
Range("AF44").Activate
With Selection
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
End With
ActiveSheet.Protect "alma", True, True, True
Range("A1").Select
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
**************************************
Private Sub Worksheet_Change(ByVal Target As Range)
Dim temoin As Boolean
Sheets("3 months list").Unprotect "alma"
If Not Intersect(Target, Range("AG1")) Is Nothing And Target.Count =
1
And Not temoin Then
Application.ScreenUpdating = False ' it doesn't show all the
changements...
temoin = True
For c = 3 To 15
Sheets(Range("AG1").Value).Cells(c, 1).Copy
ActiveSheet.Cells(c - 1, 1).PasteSpecial
Paste:=xlPasteFormats
If ActiveSheet.Cells(c - 1, 1).Value = "" Then
Sheets("3 months list").Unprotect "alma"
Rows(c - 1).Hidden = True
Else
Sheets("3 months list").Unprotect "alma"
Rows(c - 1).Hidden = False
End If
Next c
temoin = False
Application.ScreenUpdating = True
End If
If Not Intersect(Target, Range("AG16")) Is Nothing And Target.Count =
1
And Not temoin Then
Application.ScreenUpdating = False ' it doesn't show all the
changements...
temoin = True
For c = 3 To 15
Sheets(Range("AG16").Value).Cells(c, 1).Copy
ActiveSheet.Cells(c + 14, 1).PasteSpecial
Paste:=xlPasteFormats
If ActiveSheet.Cells(c + 14, 1).Value = "" Then
Sheets("3 months list").Unprotect "alma"
Rows(c + 14).Hidden = True
Else
Sheets("3 months list").Unprotect "alma"
Rows(c + 14).Hidden = False
End If
Next c
temoin = False
Application.ScreenUpdating = True
End If
If Not Intersect(Target, Range("AG31")) Is Nothing And Target.Count =
1
And Not temoin Then
Application.ScreenUpdating = False ' it doesn't show all the
changements...
temoin = True
For c = 3 To 15
Sheets(Range("AG31").Value).Cells(c, 1).Copy
ActiveSheet.Cells(c + 29, 1).PasteSpecial
Paste:=xlPasteFormats
If ActiveSheet.Cells(c + 29, 1).Value = "" Then
Sheets("3 months list").Unprotect "alma"
Rows(c + 29).Hidden = True
Else
Sheets("3 months list").Unprotect "alma"
Rows(c + 29).Hidden = False
End If
Next c
temoin = False
Application.ScreenUpdating = True
End If
Sheets("3 months list").Protect "alma", True, True, True
End Sub
Bonjour,
Test sur une seule cellule si pas encore essayé. Dans ton programme il
semble que t'a bloqué tout changement à cause d'une dépendance.
A+
--
Faut-il travailler pour manger ?
ou
manger pour travailler ?
"Trèfle" wrote:Bonjour,
Dans une feuille même non protégée, lorsque je sélectionne certaines
cellules, je ne peux plus faire Format/Cellule car cela n'affiche plus
la
boîte de dialogue attendue (mais je peux toujours la sélectionner et
aucune
touche n'est grisée ...).
Alors qu'avant cela fonctionnait sans problème.
De même, j'ai une macro évènementielle qui bloque à l'activation de la
feuille (contrairement à ce qui se passait avant ... ) avec pour message
Erreur d'exécution 1004 "Impossible de définir la propriété LineStyle de
la
classe Border sur la ligne :
.Borders(xlEdgeLeft).LineStyle = xlContinuous
Y-a-t-il une explication à cela , ou une mise à jour peut-elle expliquer
cette réaction de Excel (ça fait la même chose sur 2000, 2003 ou 2007
...)
Ci-dessous le code qui est placé dans la feuille du VBA.
Merci à tous
****************************
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
Application.EnableEvents = False
ActiveSheet.Unprotect "alma"
Range("A2:AF14,A17:AF29,A32:AF44").Select
Range("AF44").Activate
With Selection
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
End With
ActiveSheet.Protect "alma", True, True, True
Range("A1").Select
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
**************************************
Private Sub Worksheet_Change(ByVal Target As Range)
Dim temoin As Boolean
Sheets("3 months list").Unprotect "alma"
If Not Intersect(Target, Range("AG1")) Is Nothing And Target.Count =
1
And Not temoin Then
Application.ScreenUpdating = False ' it doesn't show all the
changements...
temoin = True
For c = 3 To 15
Sheets(Range("AG1").Value).Cells(c, 1).Copy
ActiveSheet.Cells(c - 1, 1).PasteSpecial
Paste:=xlPasteFormats
If ActiveSheet.Cells(c - 1, 1).Value = "" Then
Sheets("3 months list").Unprotect "alma"
Rows(c - 1).Hidden = True
Else
Sheets("3 months list").Unprotect "alma"
Rows(c - 1).Hidden = False
End If
Next c
temoin = False
Application.ScreenUpdating = True
End If
If Not Intersect(Target, Range("AG16")) Is Nothing And Target.Count =
1
And Not temoin Then
Application.ScreenUpdating = False ' it doesn't show all the
changements...
temoin = True
For c = 3 To 15
Sheets(Range("AG16").Value).Cells(c, 1).Copy
ActiveSheet.Cells(c + 14, 1).PasteSpecial
Paste:=xlPasteFormats
If ActiveSheet.Cells(c + 14, 1).Value = "" Then
Sheets("3 months list").Unprotect "alma"
Rows(c + 14).Hidden = True
Else
Sheets("3 months list").Unprotect "alma"
Rows(c + 14).Hidden = False
End If
Next c
temoin = False
Application.ScreenUpdating = True
End If
If Not Intersect(Target, Range("AG31")) Is Nothing And Target.Count =
1
And Not temoin Then
Application.ScreenUpdating = False ' it doesn't show all the
changements...
temoin = True
For c = 3 To 15
Sheets(Range("AG31").Value).Cells(c, 1).Copy
ActiveSheet.Cells(c + 29, 1).PasteSpecial
Paste:=xlPasteFormats
If ActiveSheet.Cells(c + 29, 1).Value = "" Then
Sheets("3 months list").Unprotect "alma"
Rows(c + 29).Hidden = True
Else
Sheets("3 months list").Unprotect "alma"
Rows(c + 29).Hidden = False
End If
Next c
temoin = False
Application.ScreenUpdating = True
End If
Sheets("3 months list").Protect "alma", True, True, True
End Sub
Bonjour Transocéan,
J'ai fait Edition/Liaison, qui apparaît en grisé, donc sans liaison pour le
fichier ... et ce, même sur une cellule sélectionnée toute seule
Que voulais-tu entendre par dépendance ?
Merci pour ta réponse
Trèfle
N.B. Presque toutes les cellules de la feuille contiennent des fonctions
avec indirect ...certaines ne bloquant pas, d'autres oui comme une qui a
pour formule :
=SI(INDIRECT(AG$16&"!A3")="";"";INDIRECT(AG$16&"!A3")) où AG16 contient le
nom de la feuille (par formule) ... et pourtant les réponses attendues aux
cellules à formules sont conformes !
(La feuille qui rencontre ces problèmes est en fait un récapitulatif de
plusieurs autres feuilles ...)
Qu'en penses-tu ?
Je peux te mettre un fichier en Cjoint si tu le souhaites ... ?
"Transocéan" a écrit dans le message
de news:
> Bonjour,
> Test sur une seule cellule si pas encore essayé. Dans ton programme il
> semble que t'a bloqué tout changement à cause d'une dépendance.
> A+
> --
> Faut-il travailler pour manger ?
> ou
> manger pour travailler ?
>
>
> "Trèfle" wrote:
>
>> Bonjour,
>>
>> Dans une feuille même non protégée, lorsque je sélectionne certaines
>> cellules, je ne peux plus faire Format/Cellule car cela n'affiche plus
>> la
>> boîte de dialogue attendue (mais je peux toujours la sélectionner et
>> aucune
>> touche n'est grisée ...).
>> Alors qu'avant cela fonctionnait sans problème.
>> De même, j'ai une macro évènementielle qui bloque à l'activation de la
>> feuille (contrairement à ce qui se passait avant ... ) avec pour message
>> Erreur d'exécution 1004 "Impossible de définir la propriété LineStyle de
>> la
>> classe Border sur la ligne :
>> .Borders(xlEdgeLeft).LineStyle = xlContinuous
>>
>> Y-a-t-il une explication à cela , ou une mise à jour peut-elle expliquer
>> cette réaction de Excel (ça fait la même chose sur 2000, 2003 ou 2007
>> ...)
>> Ci-dessous le code qui est placé dans la feuille du VBA.
>>
>> Merci à tous
>>
>> ****************************
>> Private Sub Worksheet_Activate()
>> Application.ScreenUpdating = False
>> Application.EnableEvents = False
>> ActiveSheet.Unprotect "alma"
>> Range("A2:AF14,A17:AF29,A32:AF44").Select
>> Range("AF44").Activate
>> With Selection
>> .Borders(xlEdgeLeft).LineStyle = xlContinuous
>> .Borders(xlEdgeTop).LineStyle = xlContinuous
>> .Borders(xlEdgeBottom).LineStyle = xlContinuous
>> .Borders(xlEdgeRight).LineStyle = xlContinuous
>> End With
>> ActiveSheet.Protect "alma", True, True, True
>> Range("A1").Select
>> Application.EnableEvents = True
>> Application.ScreenUpdating = True
>> End Sub
>> **************************************
>> Private Sub Worksheet_Change(ByVal Target As Range)
>>
>> Dim temoin As Boolean
>> Sheets("3 months list").Unprotect "alma"
>> If Not Intersect(Target, Range("AG1")) Is Nothing And Target.Count =
>> 1
>> And Not temoin Then
>> Application.ScreenUpdating = False ' it doesn't show all the
>> changements...
>> temoin = True
>> For c = 3 To 15
>> Sheets(Range("AG1").Value).Cells(c, 1).Copy
>> ActiveSheet.Cells(c - 1, 1).PasteSpecial
>> Paste:=xlPasteFormats
>> If ActiveSheet.Cells(c - 1, 1).Value = "" Then
>> Sheets("3 months list").Unprotect "alma"
>> Rows(c - 1).Hidden = True
>> Else
>> Sheets("3 months list").Unprotect "alma"
>> Rows(c - 1).Hidden = False
>> End If
>> Next c
>> temoin = False
>> Application.ScreenUpdating = True
>> End If
>> If Not Intersect(Target, Range("AG16")) Is Nothing And Target.Count =
>> 1
>> And Not temoin Then
>> Application.ScreenUpdating = False ' it doesn't show all the
>> changements...
>> temoin = True
>> For c = 3 To 15
>> Sheets(Range("AG16").Value).Cells(c, 1).Copy
>> ActiveSheet.Cells(c + 14, 1).PasteSpecial
>> Paste:=xlPasteFormats
>> If ActiveSheet.Cells(c + 14, 1).Value = "" Then
>> Sheets("3 months list").Unprotect "alma"
>> Rows(c + 14).Hidden = True
>> Else
>> Sheets("3 months list").Unprotect "alma"
>> Rows(c + 14).Hidden = False
>> End If
>> Next c
>> temoin = False
>> Application.ScreenUpdating = True
>> End If
>> If Not Intersect(Target, Range("AG31")) Is Nothing And Target.Count =
>> 1
>> And Not temoin Then
>> Application.ScreenUpdating = False ' it doesn't show all the
>> changements...
>> temoin = True
>> For c = 3 To 15
>> Sheets(Range("AG31").Value).Cells(c, 1).Copy
>> ActiveSheet.Cells(c + 29, 1).PasteSpecial
>> Paste:=xlPasteFormats
>> If ActiveSheet.Cells(c + 29, 1).Value = "" Then
>> Sheets("3 months list").Unprotect "alma"
>> Rows(c + 29).Hidden = True
>> Else
>> Sheets("3 months list").Unprotect "alma"
>> Rows(c + 29).Hidden = False
>> End If
>> Next c
>> temoin = False
>> Application.ScreenUpdating = True
>> End If
>> Sheets("3 months list").Protect "alma", True, True, True
>> End Sub
>>
>>
>>
>>
Bonjour Transocéan,
J'ai fait Edition/Liaison, qui apparaît en grisé, donc sans liaison pour le
fichier ... et ce, même sur une cellule sélectionnée toute seule
Que voulais-tu entendre par dépendance ?
Merci pour ta réponse
Trèfle
N.B. Presque toutes les cellules de la feuille contiennent des fonctions
avec indirect ...certaines ne bloquant pas, d'autres oui comme une qui a
pour formule :
=SI(INDIRECT(AG$16&"!A3")="";"";INDIRECT(AG$16&"!A3")) où AG16 contient le
nom de la feuille (par formule) ... et pourtant les réponses attendues aux
cellules à formules sont conformes !
(La feuille qui rencontre ces problèmes est en fait un récapitulatif de
plusieurs autres feuilles ...)
Qu'en penses-tu ?
Je peux te mettre un fichier en Cjoint si tu le souhaites ... ?
"Transocéan" <Transocan@discussions.microsoft.com> a écrit dans le message
de news: 0B3A2818-506D-4F93-BDFF-BF021D8BBF38@microsoft.com...
> Bonjour,
> Test sur une seule cellule si pas encore essayé. Dans ton programme il
> semble que t'a bloqué tout changement à cause d'une dépendance.
> A+
> --
> Faut-il travailler pour manger ?
> ou
> manger pour travailler ?
>
>
> "Trèfle" wrote:
>
>> Bonjour,
>>
>> Dans une feuille même non protégée, lorsque je sélectionne certaines
>> cellules, je ne peux plus faire Format/Cellule car cela n'affiche plus
>> la
>> boîte de dialogue attendue (mais je peux toujours la sélectionner et
>> aucune
>> touche n'est grisée ...).
>> Alors qu'avant cela fonctionnait sans problème.
>> De même, j'ai une macro évènementielle qui bloque à l'activation de la
>> feuille (contrairement à ce qui se passait avant ... ) avec pour message
>> Erreur d'exécution 1004 "Impossible de définir la propriété LineStyle de
>> la
>> classe Border sur la ligne :
>> .Borders(xlEdgeLeft).LineStyle = xlContinuous
>>
>> Y-a-t-il une explication à cela , ou une mise à jour peut-elle expliquer
>> cette réaction de Excel (ça fait la même chose sur 2000, 2003 ou 2007
>> ...)
>> Ci-dessous le code qui est placé dans la feuille du VBA.
>>
>> Merci à tous
>>
>> ****************************
>> Private Sub Worksheet_Activate()
>> Application.ScreenUpdating = False
>> Application.EnableEvents = False
>> ActiveSheet.Unprotect "alma"
>> Range("A2:AF14,A17:AF29,A32:AF44").Select
>> Range("AF44").Activate
>> With Selection
>> .Borders(xlEdgeLeft).LineStyle = xlContinuous
>> .Borders(xlEdgeTop).LineStyle = xlContinuous
>> .Borders(xlEdgeBottom).LineStyle = xlContinuous
>> .Borders(xlEdgeRight).LineStyle = xlContinuous
>> End With
>> ActiveSheet.Protect "alma", True, True, True
>> Range("A1").Select
>> Application.EnableEvents = True
>> Application.ScreenUpdating = True
>> End Sub
>> **************************************
>> Private Sub Worksheet_Change(ByVal Target As Range)
>>
>> Dim temoin As Boolean
>> Sheets("3 months list").Unprotect "alma"
>> If Not Intersect(Target, Range("AG1")) Is Nothing And Target.Count =
>> 1
>> And Not temoin Then
>> Application.ScreenUpdating = False ' it doesn't show all the
>> changements...
>> temoin = True
>> For c = 3 To 15
>> Sheets(Range("AG1").Value).Cells(c, 1).Copy
>> ActiveSheet.Cells(c - 1, 1).PasteSpecial
>> Paste:=xlPasteFormats
>> If ActiveSheet.Cells(c - 1, 1).Value = "" Then
>> Sheets("3 months list").Unprotect "alma"
>> Rows(c - 1).Hidden = True
>> Else
>> Sheets("3 months list").Unprotect "alma"
>> Rows(c - 1).Hidden = False
>> End If
>> Next c
>> temoin = False
>> Application.ScreenUpdating = True
>> End If
>> If Not Intersect(Target, Range("AG16")) Is Nothing And Target.Count =
>> 1
>> And Not temoin Then
>> Application.ScreenUpdating = False ' it doesn't show all the
>> changements...
>> temoin = True
>> For c = 3 To 15
>> Sheets(Range("AG16").Value).Cells(c, 1).Copy
>> ActiveSheet.Cells(c + 14, 1).PasteSpecial
>> Paste:=xlPasteFormats
>> If ActiveSheet.Cells(c + 14, 1).Value = "" Then
>> Sheets("3 months list").Unprotect "alma"
>> Rows(c + 14).Hidden = True
>> Else
>> Sheets("3 months list").Unprotect "alma"
>> Rows(c + 14).Hidden = False
>> End If
>> Next c
>> temoin = False
>> Application.ScreenUpdating = True
>> End If
>> If Not Intersect(Target, Range("AG31")) Is Nothing And Target.Count =
>> 1
>> And Not temoin Then
>> Application.ScreenUpdating = False ' it doesn't show all the
>> changements...
>> temoin = True
>> For c = 3 To 15
>> Sheets(Range("AG31").Value).Cells(c, 1).Copy
>> ActiveSheet.Cells(c + 29, 1).PasteSpecial
>> Paste:=xlPasteFormats
>> If ActiveSheet.Cells(c + 29, 1).Value = "" Then
>> Sheets("3 months list").Unprotect "alma"
>> Rows(c + 29).Hidden = True
>> Else
>> Sheets("3 months list").Unprotect "alma"
>> Rows(c + 29).Hidden = False
>> End If
>> Next c
>> temoin = False
>> Application.ScreenUpdating = True
>> End If
>> Sheets("3 months list").Protect "alma", True, True, True
>> End Sub
>>
>>
>>
>>
Bonjour Transocéan,
J'ai fait Edition/Liaison, qui apparaît en grisé, donc sans liaison pour le
fichier ... et ce, même sur une cellule sélectionnée toute seule
Que voulais-tu entendre par dépendance ?
Merci pour ta réponse
Trèfle
N.B. Presque toutes les cellules de la feuille contiennent des fonctions
avec indirect ...certaines ne bloquant pas, d'autres oui comme une qui a
pour formule :
=SI(INDIRECT(AG$16&"!A3")="";"";INDIRECT(AG$16&"!A3")) où AG16 contient le
nom de la feuille (par formule) ... et pourtant les réponses attendues aux
cellules à formules sont conformes !
(La feuille qui rencontre ces problèmes est en fait un récapitulatif de
plusieurs autres feuilles ...)
Qu'en penses-tu ?
Je peux te mettre un fichier en Cjoint si tu le souhaites ... ?
"Transocéan" a écrit dans le message
de news:
> Bonjour,
> Test sur une seule cellule si pas encore essayé. Dans ton programme il
> semble que t'a bloqué tout changement à cause d'une dépendance.
> A+
> --
> Faut-il travailler pour manger ?
> ou
> manger pour travailler ?
>
>
> "Trèfle" wrote:
>
>> Bonjour,
>>
>> Dans une feuille même non protégée, lorsque je sélectionne certaines
>> cellules, je ne peux plus faire Format/Cellule car cela n'affiche plus
>> la
>> boîte de dialogue attendue (mais je peux toujours la sélectionner et
>> aucune
>> touche n'est grisée ...).
>> Alors qu'avant cela fonctionnait sans problème.
>> De même, j'ai une macro évènementielle qui bloque à l'activation de la
>> feuille (contrairement à ce qui se passait avant ... ) avec pour message
>> Erreur d'exécution 1004 "Impossible de définir la propriété LineStyle de
>> la
>> classe Border sur la ligne :
>> .Borders(xlEdgeLeft).LineStyle = xlContinuous
>>
>> Y-a-t-il une explication à cela , ou une mise à jour peut-elle expliquer
>> cette réaction de Excel (ça fait la même chose sur 2000, 2003 ou 2007
>> ...)
>> Ci-dessous le code qui est placé dans la feuille du VBA.
>>
>> Merci à tous
>>
>> ****************************
>> Private Sub Worksheet_Activate()
>> Application.ScreenUpdating = False
>> Application.EnableEvents = False
>> ActiveSheet.Unprotect "alma"
>> Range("A2:AF14,A17:AF29,A32:AF44").Select
>> Range("AF44").Activate
>> With Selection
>> .Borders(xlEdgeLeft).LineStyle = xlContinuous
>> .Borders(xlEdgeTop).LineStyle = xlContinuous
>> .Borders(xlEdgeBottom).LineStyle = xlContinuous
>> .Borders(xlEdgeRight).LineStyle = xlContinuous
>> End With
>> ActiveSheet.Protect "alma", True, True, True
>> Range("A1").Select
>> Application.EnableEvents = True
>> Application.ScreenUpdating = True
>> End Sub
>> **************************************
>> Private Sub Worksheet_Change(ByVal Target As Range)
>>
>> Dim temoin As Boolean
>> Sheets("3 months list").Unprotect "alma"
>> If Not Intersect(Target, Range("AG1")) Is Nothing And Target.Count =
>> 1
>> And Not temoin Then
>> Application.ScreenUpdating = False ' it doesn't show all the
>> changements...
>> temoin = True
>> For c = 3 To 15
>> Sheets(Range("AG1").Value).Cells(c, 1).Copy
>> ActiveSheet.Cells(c - 1, 1).PasteSpecial
>> Paste:=xlPasteFormats
>> If ActiveSheet.Cells(c - 1, 1).Value = "" Then
>> Sheets("3 months list").Unprotect "alma"
>> Rows(c - 1).Hidden = True
>> Else
>> Sheets("3 months list").Unprotect "alma"
>> Rows(c - 1).Hidden = False
>> End If
>> Next c
>> temoin = False
>> Application.ScreenUpdating = True
>> End If
>> If Not Intersect(Target, Range("AG16")) Is Nothing And Target.Count =
>> 1
>> And Not temoin Then
>> Application.ScreenUpdating = False ' it doesn't show all the
>> changements...
>> temoin = True
>> For c = 3 To 15
>> Sheets(Range("AG16").Value).Cells(c, 1).Copy
>> ActiveSheet.Cells(c + 14, 1).PasteSpecial
>> Paste:=xlPasteFormats
>> If ActiveSheet.Cells(c + 14, 1).Value = "" Then
>> Sheets("3 months list").Unprotect "alma"
>> Rows(c + 14).Hidden = True
>> Else
>> Sheets("3 months list").Unprotect "alma"
>> Rows(c + 14).Hidden = False
>> End If
>> Next c
>> temoin = False
>> Application.ScreenUpdating = True
>> End If
>> If Not Intersect(Target, Range("AG31")) Is Nothing And Target.Count =
>> 1
>> And Not temoin Then
>> Application.ScreenUpdating = False ' it doesn't show all the
>> changements...
>> temoin = True
>> For c = 3 To 15
>> Sheets(Range("AG31").Value).Cells(c, 1).Copy
>> ActiveSheet.Cells(c + 29, 1).PasteSpecial
>> Paste:=xlPasteFormats
>> If ActiveSheet.Cells(c + 29, 1).Value = "" Then
>> Sheets("3 months list").Unprotect "alma"
>> Rows(c + 29).Hidden = True
>> Else
>> Sheets("3 months list").Unprotect "alma"
>> Rows(c + 29).Hidden = False
>> End If
>> Next c
>> temoin = False
>> Application.ScreenUpdating = True
>> End If
>> Sheets("3 months list").Protect "alma", True, True, True
>> End Sub
>>
>>
>>
>>
Bonjour,
Dans une feuille même non protégée, lorsque je sélectionne certai nes
cellules, je ne peux plus faire Format/Cellule car cela n'affiche plus la
boîte de dialogue attendue (mais je peux toujours la sélectionner et aucune
touche n'est grisée ...).
Alors qu'avant cela fonctionnait sans problème.
De même, j'ai une macro évènementielle qui bloque à l'activation de la
feuille (contrairement à ce qui se passait avant ... ) avec pour messag e
Erreur d'exécution 1004 "Impossible de définir la propriété LineS tyle de la
classe Border sur la ligne :
.Borders(xlEdgeLeft).LineStyle = xlContinuous
Y-a-t-il une explication à cela , ou une mise à jour peut-elle expliq uer
cette réaction de Excel (ça fait la même chose sur 2000, 2003 ou 20 07 ...)
Ci-dessous le code qui est placé dans la feuille du VBA.
Merci à tous
****************************
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
Application.EnableEvents = False
ActiveSheet.Unprotect "alma"
Range("A2:AF14,A17:AF29,A32:AF44").Select
Range("AF44").Activate
With Selection
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
End With
ActiveSheet.Protect "alma", True, True, True
Range("A1").Select
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
**************************************
Private Sub Worksheet_Change(ByVal Target As Range)
Dim temoin As Boolean
Sheets("3 months list").Unprotect "alma"
If Not Intersect(Target, Range("AG1")) Is Nothing And Target.Coun t = 1
And Not temoin Then
Application.ScreenUpdating = False ' it doesn't show al l the
changements...
temoin = True
For c = 3 To 15
Sheets(Range("AG1").Value).Cells(c, 1).Copy
ActiveSheet.Cells(c - 1, 1).PasteSpecial Paste: =xlPasteFormats
If ActiveSheet.Cells(c - 1, 1).Value = "" Then
Sheets("3 months list").Unprotect "alma"
Rows(c - 1).Hidden = True
Else
Sheets("3 months list").Unprotect "alma"
Rows(c - 1).Hidden = False
End If
Next c
temoin = False
Application.ScreenUpdating = True
End If
If Not Intersect(Target, Range("AG16")) Is Nothing And Target.Cou nt = 1
And Not temoin Then
Application.ScreenUpdating = False ' it doesn't show al l the
changements...
temoin = True
For c = 3 To 15
Sheets(Range("AG16").Value).Cells(c, 1).Copy
ActiveSheet.Cells(c + 14, 1).PasteSpecial Paste: =xlPasteFormats
If ActiveSheet.Cells(c + 14, 1).Value = "" Then
Sheets("3 months list").Unprotect "alma"
Rows(c + 14).Hidden = True
Else
Sheets("3 months list").Unprotect "alma"
Rows(c + 14).Hidden = False
End If
Next c
temoin = False
Application.ScreenUpdating = True
End If
If Not Intersect(Target, Range("AG31")) Is Nothing And Target.Cou nt = 1
And Not temoin Then
Application.ScreenUpdating = False ' it doesn't show al l the
changements...
temoin = True
For c = 3 To 15
Sheets(Range("AG31").Value).Cells(c, 1).Copy
ActiveSheet.Cells(c + 29, 1).PasteSpecial Paste: =xlPasteFormats
If ActiveSheet.Cells(c + 29, 1).Value = "" Then
Sheets("3 months list").Unprotect "alma"
Rows(c + 29).Hidden = True
Else
Sheets("3 months list").Unprotect "alma"
Rows(c + 29).Hidden = False
End If
Next c
temoin = False
Application.ScreenUpdating = True
End If
Sheets("3 months list").Protect "alma", True, True, True
End Sub
Bonjour,
Dans une feuille même non protégée, lorsque je sélectionne certai nes
cellules, je ne peux plus faire Format/Cellule car cela n'affiche plus la
boîte de dialogue attendue (mais je peux toujours la sélectionner et aucune
touche n'est grisée ...).
Alors qu'avant cela fonctionnait sans problème.
De même, j'ai une macro évènementielle qui bloque à l'activation de la
feuille (contrairement à ce qui se passait avant ... ) avec pour messag e
Erreur d'exécution 1004 "Impossible de définir la propriété LineS tyle de la
classe Border sur la ligne :
.Borders(xlEdgeLeft).LineStyle = xlContinuous
Y-a-t-il une explication à cela , ou une mise à jour peut-elle expliq uer
cette réaction de Excel (ça fait la même chose sur 2000, 2003 ou 20 07 ...)
Ci-dessous le code qui est placé dans la feuille du VBA.
Merci à tous
****************************
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
Application.EnableEvents = False
ActiveSheet.Unprotect "alma"
Range("A2:AF14,A17:AF29,A32:AF44").Select
Range("AF44").Activate
With Selection
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
End With
ActiveSheet.Protect "alma", True, True, True
Range("A1").Select
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
**************************************
Private Sub Worksheet_Change(ByVal Target As Range)
Dim temoin As Boolean
Sheets("3 months list").Unprotect "alma"
If Not Intersect(Target, Range("AG1")) Is Nothing And Target.Coun t = 1
And Not temoin Then
Application.ScreenUpdating = False ' it doesn't show al l the
changements...
temoin = True
For c = 3 To 15
Sheets(Range("AG1").Value).Cells(c, 1).Copy
ActiveSheet.Cells(c - 1, 1).PasteSpecial Paste: =xlPasteFormats
If ActiveSheet.Cells(c - 1, 1).Value = "" Then
Sheets("3 months list").Unprotect "alma"
Rows(c - 1).Hidden = True
Else
Sheets("3 months list").Unprotect "alma"
Rows(c - 1).Hidden = False
End If
Next c
temoin = False
Application.ScreenUpdating = True
End If
If Not Intersect(Target, Range("AG16")) Is Nothing And Target.Cou nt = 1
And Not temoin Then
Application.ScreenUpdating = False ' it doesn't show al l the
changements...
temoin = True
For c = 3 To 15
Sheets(Range("AG16").Value).Cells(c, 1).Copy
ActiveSheet.Cells(c + 14, 1).PasteSpecial Paste: =xlPasteFormats
If ActiveSheet.Cells(c + 14, 1).Value = "" Then
Sheets("3 months list").Unprotect "alma"
Rows(c + 14).Hidden = True
Else
Sheets("3 months list").Unprotect "alma"
Rows(c + 14).Hidden = False
End If
Next c
temoin = False
Application.ScreenUpdating = True
End If
If Not Intersect(Target, Range("AG31")) Is Nothing And Target.Cou nt = 1
And Not temoin Then
Application.ScreenUpdating = False ' it doesn't show al l the
changements...
temoin = True
For c = 3 To 15
Sheets(Range("AG31").Value).Cells(c, 1).Copy
ActiveSheet.Cells(c + 29, 1).PasteSpecial Paste: =xlPasteFormats
If ActiveSheet.Cells(c + 29, 1).Value = "" Then
Sheets("3 months list").Unprotect "alma"
Rows(c + 29).Hidden = True
Else
Sheets("3 months list").Unprotect "alma"
Rows(c + 29).Hidden = False
End If
Next c
temoin = False
Application.ScreenUpdating = True
End If
Sheets("3 months list").Protect "alma", True, True, True
End Sub
Bonjour,
Dans une feuille même non protégée, lorsque je sélectionne certai nes
cellules, je ne peux plus faire Format/Cellule car cela n'affiche plus la
boîte de dialogue attendue (mais je peux toujours la sélectionner et aucune
touche n'est grisée ...).
Alors qu'avant cela fonctionnait sans problème.
De même, j'ai une macro évènementielle qui bloque à l'activation de la
feuille (contrairement à ce qui se passait avant ... ) avec pour messag e
Erreur d'exécution 1004 "Impossible de définir la propriété LineS tyle de la
classe Border sur la ligne :
.Borders(xlEdgeLeft).LineStyle = xlContinuous
Y-a-t-il une explication à cela , ou une mise à jour peut-elle expliq uer
cette réaction de Excel (ça fait la même chose sur 2000, 2003 ou 20 07 ...)
Ci-dessous le code qui est placé dans la feuille du VBA.
Merci à tous
****************************
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
Application.EnableEvents = False
ActiveSheet.Unprotect "alma"
Range("A2:AF14,A17:AF29,A32:AF44").Select
Range("AF44").Activate
With Selection
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
End With
ActiveSheet.Protect "alma", True, True, True
Range("A1").Select
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
**************************************
Private Sub Worksheet_Change(ByVal Target As Range)
Dim temoin As Boolean
Sheets("3 months list").Unprotect "alma"
If Not Intersect(Target, Range("AG1")) Is Nothing And Target.Coun t = 1
And Not temoin Then
Application.ScreenUpdating = False ' it doesn't show al l the
changements...
temoin = True
For c = 3 To 15
Sheets(Range("AG1").Value).Cells(c, 1).Copy
ActiveSheet.Cells(c - 1, 1).PasteSpecial Paste: =xlPasteFormats
If ActiveSheet.Cells(c - 1, 1).Value = "" Then
Sheets("3 months list").Unprotect "alma"
Rows(c - 1).Hidden = True
Else
Sheets("3 months list").Unprotect "alma"
Rows(c - 1).Hidden = False
End If
Next c
temoin = False
Application.ScreenUpdating = True
End If
If Not Intersect(Target, Range("AG16")) Is Nothing And Target.Cou nt = 1
And Not temoin Then
Application.ScreenUpdating = False ' it doesn't show al l the
changements...
temoin = True
For c = 3 To 15
Sheets(Range("AG16").Value).Cells(c, 1).Copy
ActiveSheet.Cells(c + 14, 1).PasteSpecial Paste: =xlPasteFormats
If ActiveSheet.Cells(c + 14, 1).Value = "" Then
Sheets("3 months list").Unprotect "alma"
Rows(c + 14).Hidden = True
Else
Sheets("3 months list").Unprotect "alma"
Rows(c + 14).Hidden = False
End If
Next c
temoin = False
Application.ScreenUpdating = True
End If
If Not Intersect(Target, Range("AG31")) Is Nothing And Target.Cou nt = 1
And Not temoin Then
Application.ScreenUpdating = False ' it doesn't show al l the
changements...
temoin = True
For c = 3 To 15
Sheets(Range("AG31").Value).Cells(c, 1).Copy
ActiveSheet.Cells(c + 29, 1).PasteSpecial Paste: =xlPasteFormats
If ActiveSheet.Cells(c + 29, 1).Value = "" Then
Sheets("3 months list").Unprotect "alma"
Rows(c + 29).Hidden = True
Else
Sheets("3 months list").Unprotect "alma"
Rows(c + 29).Hidden = False
End If
Next c
temoin = False
Application.ScreenUpdating = True
End If
Sheets("3 months list").Protect "alma", True, True, True
End Sub
Pour solutionner ton problème :
Sélectionne la colonne A:D tu appelles la commande
format / cellule / onglet Bordure / et tu cliques
sur l'icône qui affiche "pas de bordure" , tu fermes les fenêtres
et ta plage revient à la normale.
"Trèfle" a écrit dans le message de groupe de
discussion :
Bonjour,
Je n'ai aucune procédure de type If ...then ...
Pour la protection temporaire, je l'ai désactivée, mais rien n'y fait.
Toutes les cellules ne sont pas du même format, mais celles qui posent
problème sont uniquement dans la colonne A !
Je crois en fait que j'ai un fichier corrompu :
J'ai supprimé toutes les autres feuilles, tous les mots de passe (feuille,
Vba), j'ai décoché la protection pour toutes les cellules de la feuille,
remplacé toutes les formules par leurs valeurs, supprimé toutes les
programmations de feuilles, modules et Usf ..
j'ai même copié la feuille à problème dans une nouvelle feuille du même
fichier, et j'ai enfin supprimé toutes les colonnes autres que la colonne
A...
Et cela ne fonctionne toujours pas : dès que je sélectionne une cellule
contenant un nom de la colonne A pour faire Format/Cellule qui n'affiche
rien !
je te mets ce qu'il me reste du fichier en Cjoint, si tu veut le voir ...
!
Je crois qu'il me faut repartir sur un fichier neuf ...
http://cjoint.com/?dmkV2y17Bm
Merci pour ton aide
Trèfle
Pour solutionner ton problème :
Sélectionne la colonne A:D tu appelles la commande
format / cellule / onglet Bordure / et tu cliques
sur l'icône qui affiche "pas de bordure" , tu fermes les fenêtres
et ta plage revient à la normale.
"Trèfle" <nospam@nospam.fr> a écrit dans le message de groupe de
discussion :
OS8HbVWoJHA.5980@TK2MSFTNGP06.phx.gbl...
Bonjour,
Je n'ai aucune procédure de type If ...then ...
Pour la protection temporaire, je l'ai désactivée, mais rien n'y fait.
Toutes les cellules ne sont pas du même format, mais celles qui posent
problème sont uniquement dans la colonne A !
Je crois en fait que j'ai un fichier corrompu :
J'ai supprimé toutes les autres feuilles, tous les mots de passe (feuille,
Vba), j'ai décoché la protection pour toutes les cellules de la feuille,
remplacé toutes les formules par leurs valeurs, supprimé toutes les
programmations de feuilles, modules et Usf ..
j'ai même copié la feuille à problème dans une nouvelle feuille du même
fichier, et j'ai enfin supprimé toutes les colonnes autres que la colonne
A...
Et cela ne fonctionne toujours pas : dès que je sélectionne une cellule
contenant un nom de la colonne A pour faire Format/Cellule qui n'affiche
rien !
je te mets ce qu'il me reste du fichier en Cjoint, si tu veut le voir ...
!
Je crois qu'il me faut repartir sur un fichier neuf ...
http://cjoint.com/?dmkV2y17Bm
Merci pour ton aide
Trèfle
Pour solutionner ton problème :
Sélectionne la colonne A:D tu appelles la commande
format / cellule / onglet Bordure / et tu cliques
sur l'icône qui affiche "pas de bordure" , tu fermes les fenêtres
et ta plage revient à la normale.
"Trèfle" a écrit dans le message de groupe de
discussion :
Bonjour,
Je n'ai aucune procédure de type If ...then ...
Pour la protection temporaire, je l'ai désactivée, mais rien n'y fait.
Toutes les cellules ne sont pas du même format, mais celles qui posent
problème sont uniquement dans la colonne A !
Je crois en fait que j'ai un fichier corrompu :
J'ai supprimé toutes les autres feuilles, tous les mots de passe (feuille,
Vba), j'ai décoché la protection pour toutes les cellules de la feuille,
remplacé toutes les formules par leurs valeurs, supprimé toutes les
programmations de feuilles, modules et Usf ..
j'ai même copié la feuille à problème dans une nouvelle feuille du même
fichier, et j'ai enfin supprimé toutes les colonnes autres que la colonne
A...
Et cela ne fonctionne toujours pas : dès que je sélectionne une cellule
contenant un nom de la colonne A pour faire Format/Cellule qui n'affiche
rien !
je te mets ce qu'il me reste du fichier en Cjoint, si tu veut le voir ...
!
Je crois qu'il me faut repartir sur un fichier neuf ...
http://cjoint.com/?dmkV2y17Bm
Merci pour ton aide
Trèfle