OVH Cloud OVH Cloud

vba - commentaires, senKeys, affichage, etc

36 réponses
Avatar
j-pascal
Bonsoir,

Je crains que vous me repprochiez de poser plusieurs questions dans un
seul fil ...

http://cjoint.com/?lCuV0qYIzu

Pour une raison que j'ignore, le code suivant ne supprime pas le(s)
commentaire(s) (cf. bas de ce présent message) :

'----------------------
For decalage = 1 To 10
With Target.Offset(0, decalage)
.ClearContents
.ClearComments
End With
Next
'----------------------



Pourquoi, dans ce qui suit, la petite flèche du menu déroulant
s'affiche, mais la liste ne se déroule pas "automatiquement" ?

'----------------------
Private Sub Recherche2_Click()
[j1].Select
SendKeys "%{Down}"
End Sub
'----------------------



J'imagine qu'on peut optimiser ce bout de code :

'---------------------
If [f1] = "" Then
Recherche1.Visible = True
Else
Recherche1.Visible = False
End If
'---------------------


Questions subsidiaires :

1 - (un double-clic sur un numéro de la colonne A est censé supprimer
les valeurs de la ligne correspondante + les commentaires !)

Pourquoi les commentaires ne disparaissent pas ?


2 - Quand une cellule est sélectionnée, le "cadre noir" n'apparaît pas
toujours, ce qui peut destabiliser l'utilisateur. Ceci est
particulièrement visible dans l'onglet n°1 "réf." J'ai essayé avec
"Application.EnableEvents = True" ou "DoEvents", en vain ...


3 - Dans l'onglet n°1 (cellules "I1:N2", aurais-je pu intégrer la
formule de tri dans la colonne des données elle-même ?


Merci pour votre aide,

JP

10 réponses

1 2 3 4
Avatar
j-pascal
Oui, je vois, mais dès lors que la cellule est déverrouillée qu'est-ce
qui empêche l'action sur le commentaire ??

JP

Apparemment, le déverrouillage ne concerne que la valeur de la cellule. Si tu
procèdes manuellement, tu vois que même pour une cellule déverrouillée, tu ne
peux pas effacer un commentaire quand la feuille est protégée.
Daniel

Oui, certes, mais néanmoins je ne comprends pas pourquoi ce bout de code
efface le contenu de la cellule mais pas le commentaire ! En gros, pourquoi
:
.ClearContents s'applique
.ClearComments ne s'applique pas

JP

Fais un essai avec la feuille déprotégée.
Daniel

Bonsoir Daniel,

Pour effacer le commentaire ? Je ne comprends pas, cette plage est
déverrouillée, c'est d'ailleurs ce qui permet à l'utilisateur de "saisir"
un commentaire !

JP

Bonsoir.
Pour le premier point, il faut que tu déprotèges la feuille.
Cordialement.
Daniel

Bonsoir,

Je crains que vous me repprochiez de poser plusieurs questions dans un
seul fil ...

http://cjoint.com/?lCuV0qYIzu

Pour une raison que j'ignore, le code suivant ne supprime pas le(s)
commentaire(s) (cf. bas de ce présent message) :

'----------------------
For decalage = 1 To 10
With Target.Offset(0, decalage)
.ClearContents
.ClearComments
End With
Next
'----------------------



Pourquoi, dans ce qui suit, la petite flèche du menu déroulant
s'affiche, mais la liste ne se déroule pas "automatiquement" ?

'----------------------
Private Sub Recherche2_Click()
[j1].Select
SendKeys "%{Down}"
End Sub
'----------------------



J'imagine qu'on peut optimiser ce bout de code :

'---------------------
If [f1] = "" Then
Recherche1.Visible = True
Else
Recherche1.Visible = False
End If
'---------------------


Questions subsidiaires :

1 - (un double-clic sur un numéro de la colonne A est censé supprimer
les valeurs de la ligne correspondante + les commentaires !)

Pourquoi les commentaires ne disparaissent pas ?


2 - Quand une cellule est sélectionnée, le "cadre noir" n'apparaît pas
toujours, ce qui peut destabiliser l'utilisateur. Ceci est
particulièrement visible dans l'onglet n°1 "réf." J'ai essayé avec
"Application.EnableEvents = True" ou "DoEvents", en vain ...


3 - Dans l'onglet n°1 (cellules "I1:N2", aurais-je pu intégrer la
formule de tri dans la colonne des données elle-même ?


Merci pour votre aide,

JP












Avatar
Daniel.C
La protection de la feuille, si, comme je le pense, le verrouillage de
la cellule ne concerne que sa valeur.
Daniel

Oui, je vois, mais dès lors que la cellule est déverrouillée qu'est-ce qui
empêche l'action sur le commentaire ??

JP

Apparemment, le déverrouillage ne concerne que la valeur de la cellule. Si
tu procèdes manuellement, tu vois que même pour une cellule déverrouillée,
tu ne peux pas effacer un commentaire quand la feuille est protégée.
Daniel

Oui, certes, mais néanmoins je ne comprends pas pourquoi ce bout de code
efface le contenu de la cellule mais pas le commentaire ! En gros,
pourquoi :
.ClearContents s'applique
.ClearComments ne s'applique pas

JP

Fais un essai avec la feuille déprotégée.
Daniel

Bonsoir Daniel,

Pour effacer le commentaire ? Je ne comprends pas, cette plage est
déverrouillée, c'est d'ailleurs ce qui permet à l'utilisateur de
"saisir" un commentaire !

JP

Bonsoir.
Pour le premier point, il faut que tu déprotèges la feuille.
Cordialement.
Daniel

Bonsoir,

Je crains que vous me repprochiez de poser plusieurs questions dans un
seul fil ...

http://cjoint.com/?lCuV0qYIzu

Pour une raison que j'ignore, le code suivant ne supprime pas le(s)
commentaire(s) (cf. bas de ce présent message) :

'----------------------
For decalage = 1 To 10
With Target.Offset(0, decalage)
.ClearContents
.ClearComments
End With
Next
'----------------------



Pourquoi, dans ce qui suit, la petite flèche du menu déroulant
s'affiche, mais la liste ne se déroule pas "automatiquement" ?

'----------------------
Private Sub Recherche2_Click()
[j1].Select
SendKeys "%{Down}"
End Sub
'----------------------



J'imagine qu'on peut optimiser ce bout de code :

'---------------------
If [f1] = "" Then
Recherche1.Visible = True
Else
Recherche1.Visible = False
End If
'---------------------


Questions subsidiaires :

1 - (un double-clic sur un numéro de la colonne A est censé supprimer
les valeurs de la ligne correspondante + les commentaires !)

Pourquoi les commentaires ne disparaissent pas ?


2 - Quand une cellule est sélectionnée, le "cadre noir" n'apparaît pas
toujours, ce qui peut destabiliser l'utilisateur. Ceci est
particulièrement visible dans l'onglet n°1 "réf." J'ai essayé avec
"Application.EnableEvents = True" ou "DoEvents", en vain ...


3 - Dans l'onglet n°1 (cellules "I1:N2", aurais-je pu intégrer la
formule de tri dans la colonne des données elle-même ?


Merci pour votre aide,

JP














Avatar
Daniel.C
La protection de la feuille, si, comme je le pense, le verrouillage de
la cellule ne concerne que sa valeur.
Daniel

Oui, je vois, mais dès lors que la cellule est déverrouillée qu'est-ce qui
empêche l'action sur le commentaire ??

JP

Apparemment, le déverrouillage ne concerne que la valeur de la cellule. Si
tu procèdes manuellement, tu vois que même pour une cellule déverrouillée,
tu ne peux pas effacer un commentaire quand la feuille est protégée.
Daniel

Oui, certes, mais néanmoins je ne comprends pas pourquoi ce bout de code
efface le contenu de la cellule mais pas le commentaire ! En gros,
pourquoi :
.ClearContents s'applique
.ClearComments ne s'applique pas

JP

Fais un essai avec la feuille déprotégée.
Daniel

Bonsoir Daniel,

Pour effacer le commentaire ? Je ne comprends pas, cette plage est
déverrouillée, c'est d'ailleurs ce qui permet à l'utilisateur de
"saisir" un commentaire !

JP

Bonsoir.
Pour le premier point, il faut que tu déprotèges la feuille.
Cordialement.
Daniel

Bonsoir,

Je crains que vous me repprochiez de poser plusieurs questions dans un
seul fil ...

http://cjoint.com/?lCuV0qYIzu

Pour une raison que j'ignore, le code suivant ne supprime pas le(s)
commentaire(s) (cf. bas de ce présent message) :

'----------------------
For decalage = 1 To 10
With Target.Offset(0, decalage)
.ClearContents
.ClearComments
End With
Next
'----------------------



Pourquoi, dans ce qui suit, la petite flèche du menu déroulant
s'affiche, mais la liste ne se déroule pas "automatiquement" ?

'----------------------
Private Sub Recherche2_Click()
[j1].Select
SendKeys "%{Down}"
End Sub
'----------------------



J'imagine qu'on peut optimiser ce bout de code :

'---------------------
If [f1] = "" Then
Recherche1.Visible = True
Else
Recherche1.Visible = False
End If
'---------------------


Questions subsidiaires :

1 - (un double-clic sur un numéro de la colonne A est censé supprimer
les valeurs de la ligne correspondante + les commentaires !)

Pourquoi les commentaires ne disparaissent pas ?


2 - Quand une cellule est sélectionnée, le "cadre noir" n'apparaît pas
toujours, ce qui peut destabiliser l'utilisateur. Ceci est
particulièrement visible dans l'onglet n°1 "réf." J'ai essayé avec
"Application.EnableEvents = True" ou "DoEvents", en vain ...


3 - Dans l'onglet n°1 (cellules "I1:N2", aurais-je pu intégrer la
formule de tri dans la colonne des données elle-même ?


Merci pour votre aide,

JP














Avatar
j-pascal
C'est le même message que le précédent ?

Dans :
outils/protection/protéger la feuille/autoriser tous les
utilisateurs...
Le mot "commentaire" ne figure pas dans la liste. Est-il lié à "objet"
? Sinon, comment protéger la feuille "hors" commentaires ?

JP

PS : en même temps, je ne vois toujours pas pourquoi j'aurais un pb
avec la protection pour supprimer un commentaire, alors qu'avec cette
même protection j'ai pu saisir le commentaire !

La protection de la feuille, si, comme je le pense, le verrouillage de la
cellule ne concerne que sa valeur.
Daniel

Oui, je vois, mais dès lors que la cellule est déverrouillée qu'est-ce qui
empêche l'action sur le commentaire ??

JP

Apparemment, le déverrouillage ne concerne que la valeur de la cellule. Si
tu procèdes manuellement, tu vois que même pour une cellule déverrouillée,
tu ne peux pas effacer un commentaire quand la feuille est protégée.
Daniel

Oui, certes, mais néanmoins je ne comprends pas pourquoi ce bout de code
efface le contenu de la cellule mais pas le commentaire ! En gros,
pourquoi :
.ClearContents s'applique
.ClearComments ne s'applique pas

JP

Fais un essai avec la feuille déprotégée.
Daniel

Bonsoir Daniel,

Pour effacer le commentaire ? Je ne comprends pas, cette plage est
déverrouillée, c'est d'ailleurs ce qui permet à l'utilisateur de
"saisir" un commentaire !

JP

Bonsoir.
Pour le premier point, il faut que tu déprotèges la feuille.
Cordialement.
Daniel

Bonsoir,

Je crains que vous me repprochiez de poser plusieurs questions dans
un seul fil ...

http://cjoint.com/?lCuV0qYIzu

Pour une raison que j'ignore, le code suivant ne supprime pas le(s)
commentaire(s) (cf. bas de ce présent message) :

'----------------------
For decalage = 1 To 10
With Target.Offset(0, decalage)
.ClearContents
.ClearComments
End With
Next
'----------------------



Pourquoi, dans ce qui suit, la petite flèche du menu déroulant
s'affiche, mais la liste ne se déroule pas "automatiquement" ?

'----------------------
Private Sub Recherche2_Click()
[j1].Select
SendKeys "%{Down}"
End Sub
'----------------------



J'imagine qu'on peut optimiser ce bout de code :

'---------------------
If [f1] = "" Then
Recherche1.Visible = True
Else
Recherche1.Visible = False
End If
'---------------------


Questions subsidiaires :

1 - (un double-clic sur un numéro de la colonne A est censé supprimer
les valeurs de la ligne correspondante + les commentaires !)

Pourquoi les commentaires ne disparaissent pas ?


2 - Quand une cellule est sélectionnée, le "cadre noir" n'apparaît
pas toujours, ce qui peut destabiliser l'utilisateur. Ceci est
particulièrement visible dans l'onglet n°1 "réf." J'ai essayé avec
"Application.EnableEvents = True" ou "DoEvents", en vain ...


3 - Dans l'onglet n°1 (cellules "I1:N2", aurais-je pu intégrer la
formule de tri dans la colonne des données elle-même ?


Merci pour votre aide,

JP
















Avatar
Daniel.C
Bonjour.
Tu as deux options :
1. Déprotéger la feuille avant de supprimer le commentaire et la
reprotéger ensuite.
2. Protéger la feuille avec le paramètre "userinterfaceonly" ainsi, la
feuille est uniquement protégée depuis Excel, pas depuis VBA.
Daniel

C'est le même message que le précédent ?

Dans :
outils/protection/protéger la feuille/autoriser tous les utilisateurs...
Le mot "commentaire" ne figure pas dans la liste. Est-il lié à "objet" ?
Sinon, comment protéger la feuille "hors" commentaires ?

JP

PS : en même temps, je ne vois toujours pas pourquoi j'aurais un pb avec la
protection pour supprimer un commentaire, alors qu'avec cette même protection
j'ai pu saisir le commentaire !

La protection de la feuille, si, comme je le pense, le verrouillage de la
cellule ne concerne que sa valeur.
Daniel

Oui, je vois, mais dès lors que la cellule est déverrouillée qu'est-ce qui
empêche l'action sur le commentaire ??

JP

Apparemment, le déverrouillage ne concerne que la valeur de la cellule.
Si tu procèdes manuellement, tu vois que même pour une cellule
déverrouillée, tu ne peux pas effacer un commentaire quand la feuille est
protégée.
Daniel

Oui, certes, mais néanmoins je ne comprends pas pourquoi ce bout de code
efface le contenu de la cellule mais pas le commentaire ! En gros,
pourquoi :
.ClearContents s'applique
.ClearComments ne s'applique pas

JP

Fais un essai avec la feuille déprotégée.
Daniel

Bonsoir Daniel,

Pour effacer le commentaire ? Je ne comprends pas, cette plage est
déverrouillée, c'est d'ailleurs ce qui permet à l'utilisateur de
"saisir" un commentaire !

JP

Bonsoir.
Pour le premier point, il faut que tu déprotèges la feuille.
Cordialement.
Daniel

Bonsoir,

Je crains que vous me repprochiez de poser plusieurs questions dans
un seul fil ...

http://cjoint.com/?lCuV0qYIzu

Pour une raison que j'ignore, le code suivant ne supprime pas le(s)
commentaire(s) (cf. bas de ce présent message) :

'----------------------
For decalage = 1 To 10
With Target.Offset(0, decalage)
.ClearContents
.ClearComments
End With
Next
'----------------------



Pourquoi, dans ce qui suit, la petite flèche du menu déroulant
s'affiche, mais la liste ne se déroule pas "automatiquement" ?

'----------------------
Private Sub Recherche2_Click()
[j1].Select
SendKeys "%{Down}"
End Sub
'----------------------



J'imagine qu'on peut optimiser ce bout de code :

'---------------------
If [f1] = "" Then
Recherche1.Visible = True
Else
Recherche1.Visible = False
End If
'---------------------


Questions subsidiaires :

1 - (un double-clic sur un numéro de la colonne A est censé
supprimer les valeurs de la ligne correspondante + les commentaires
!)

Pourquoi les commentaires ne disparaissent pas ?


2 - Quand une cellule est sélectionnée, le "cadre noir" n'apparaît
pas toujours, ce qui peut destabiliser l'utilisateur. Ceci est
particulièrement visible dans l'onglet n°1 "réf." J'ai essayé avec
"Application.EnableEvents = True" ou "DoEvents", en vain ...


3 - Dans l'onglet n°1 (cellules "I1:N2", aurais-je pu intégrer la
formule de tri dans la colonne des données elle-même ?


Merci pour votre aide,

JP


















Avatar
j-pascal
Re,

Est-ce que mon "userinterfaceonly" est mal placé, car il y était déjà ?

'------
Private Sub auto_open()
Dim Sh As Worksheet

Application.ScreenUpdating = False
Application.EnableEvents = True

For Each Sh In ThisWorkbook.Sheets
Sh.Visible = xlSheetVisible
Sh.Protect _
Password:="", _
DrawingObjects:úlse, _
Contents:=True, _
Scenarios:=True, _
userinterfaceonly:=True
Sh.EnableSelection = xlUnlockedCells
Next
'------

JP

Bonjour.
Tu as deux options :
1. Déprotéger la feuille avant de supprimer le commentaire et la reprotéger
ensuite.
2. Protéger la feuille avec le paramètre "userinterfaceonly" ainsi, la
feuille est uniquement protégée depuis Excel, pas depuis VBA.
Daniel

C'est le même message que le précédent ?

Dans :
outils/protection/protéger la feuille/autoriser tous les utilisateurs...
Le mot "commentaire" ne figure pas dans la liste. Est-il lié à "objet" ?
Sinon, comment protéger la feuille "hors" commentaires ?

JP

PS : en même temps, je ne vois toujours pas pourquoi j'aurais un pb avec la
protection pour supprimer un commentaire, alors qu'avec cette même
protection j'ai pu saisir le commentaire !

La protection de la feuille, si, comme je le pense, le verrouillage de la
cellule ne concerne que sa valeur.
Daniel

Oui, je vois, mais dès lors que la cellule est déverrouillée qu'est-ce
qui empêche l'action sur le commentaire ??

JP

Apparemment, le déverrouillage ne concerne que la valeur de la cellule.
Si tu procèdes manuellement, tu vois que même pour une cellule
déverrouillée, tu ne peux pas effacer un commentaire quand la feuille
est protégée.
Daniel

Oui, certes, mais néanmoins je ne comprends pas pourquoi ce bout de
code efface le contenu de la cellule mais pas le commentaire ! En gros,
pourquoi :
.ClearContents s'applique
.ClearComments ne s'applique pas

JP

Fais un essai avec la feuille déprotégée.
Daniel

Bonsoir Daniel,

Pour effacer le commentaire ? Je ne comprends pas, cette plage est
déverrouillée, c'est d'ailleurs ce qui permet à l'utilisateur de
"saisir" un commentaire !

JP

Bonsoir.
Pour le premier point, il faut que tu déprotèges la feuille.
Cordialement.
Daniel

Bonsoir,

Je crains que vous me repprochiez de poser plusieurs questions dans
un seul fil ...

http://cjoint.com/?lCuV0qYIzu

Pour une raison que j'ignore, le code suivant ne supprime pas le(s)
commentaire(s) (cf. bas de ce présent message) :

'----------------------
For decalage = 1 To 10
With Target.Offset(0, decalage)
.ClearContents
.ClearComments
End With
Next
'----------------------



Pourquoi, dans ce qui suit, la petite flèche du menu déroulant
s'affiche, mais la liste ne se déroule pas "automatiquement" ?

'----------------------
Private Sub Recherche2_Click()
[j1].Select
SendKeys "%{Down}"
End Sub
'----------------------



J'imagine qu'on peut optimiser ce bout de code :

'---------------------
If [f1] = "" Then
Recherche1.Visible = True
Else
Recherche1.Visible = False
End If
'---------------------


Questions subsidiaires :

1 - (un double-clic sur un numéro de la colonne A est censé
supprimer les valeurs de la ligne correspondante + les commentaires
!)

Pourquoi les commentaires ne disparaissent pas ?


2 - Quand une cellule est sélectionnée, le "cadre noir" n'apparaît
pas toujours, ce qui peut destabiliser l'utilisateur. Ceci est
particulièrement visible dans l'onglet n°1 "réf." J'ai essayé avec
"Application.EnableEvents = True" ou "DoEvents", en vain ...


3 - Dans l'onglet n°1 (cellules "I1:N2", aurais-je pu intégrer la
formule de tri dans la colonne des données elle-même ?


Merci pour votre aide,

JP




















Avatar
Daniel.C
Fiat lux! alors, je dis comme steph, ça fonctionne. Je n'avais pas
exécuté la macro auto_open (je m'en méfie avec un classeur inconnu).
Daniel

Re,

Est-ce que mon "userinterfaceonly" est mal placé, car il y était déjà ?

'------
Private Sub auto_open()
Dim Sh As Worksheet

Application.ScreenUpdating = False
Application.EnableEvents = True

For Each Sh In ThisWorkbook.Sheets
Sh.Visible = xlSheetVisible
Sh.Protect _
Password:="", _
DrawingObjects:úlse, _
Contents:=True, _
Scenarios:=True, _
userinterfaceonly:=True
Sh.EnableSelection = xlUnlockedCells
Next
'------

JP

Bonjour.
Tu as deux options :
1. Déprotéger la feuille avant de supprimer le commentaire et la reprotéger
ensuite.
2. Protéger la feuille avec le paramètre "userinterfaceonly" ainsi, la
feuille est uniquement protégée depuis Excel, pas depuis VBA.
Daniel

C'est le même message que le précédent ?

Dans :
outils/protection/protéger la feuille/autoriser tous les utilisateurs...
Le mot "commentaire" ne figure pas dans la liste. Est-il lié à "objet" ?
Sinon, comment protéger la feuille "hors" commentaires ?

JP

PS : en même temps, je ne vois toujours pas pourquoi j'aurais un pb avec
la protection pour supprimer un commentaire, alors qu'avec cette même
protection j'ai pu saisir le commentaire !

La protection de la feuille, si, comme je le pense, le verrouillage de la
cellule ne concerne que sa valeur.
Daniel

Oui, je vois, mais dès lors que la cellule est déverrouillée qu'est-ce
qui empêche l'action sur le commentaire ??

JP

Apparemment, le déverrouillage ne concerne que la valeur de la cellule.
Si tu procèdes manuellement, tu vois que même pour une cellule
déverrouillée, tu ne peux pas effacer un commentaire quand la feuille
est protégée.
Daniel

Oui, certes, mais néanmoins je ne comprends pas pourquoi ce bout de
code efface le contenu de la cellule mais pas le commentaire ! En
gros, pourquoi :
.ClearContents s'applique
.ClearComments ne s'applique pas

JP

Fais un essai avec la feuille déprotégée.
Daniel

Bonsoir Daniel,

Pour effacer le commentaire ? Je ne comprends pas, cette plage est
déverrouillée, c'est d'ailleurs ce qui permet à l'utilisateur de
"saisir" un commentaire !

JP

Bonsoir.
Pour le premier point, il faut que tu déprotèges la feuille.
Cordialement.
Daniel

Bonsoir,

Je crains que vous me repprochiez de poser plusieurs questions
dans un seul fil ...

http://cjoint.com/?lCuV0qYIzu

Pour une raison que j'ignore, le code suivant ne supprime pas
le(s) commentaire(s) (cf. bas de ce présent message) :

'----------------------
For decalage = 1 To 10
With Target.Offset(0, decalage)
.ClearContents
.ClearComments
End With
Next
'----------------------



Pourquoi, dans ce qui suit, la petite flèche du menu déroulant
s'affiche, mais la liste ne se déroule pas "automatiquement" ?

'----------------------
Private Sub Recherche2_Click()
[j1].Select
SendKeys "%{Down}"
End Sub
'----------------------



J'imagine qu'on peut optimiser ce bout de code :

'---------------------
If [f1] = "" Then
Recherche1.Visible = True
Else
Recherche1.Visible = False
End If
'---------------------


Questions subsidiaires :

1 - (un double-clic sur un numéro de la colonne A est censé
supprimer les valeurs de la ligne correspondante + les
commentaires !)

Pourquoi les commentaires ne disparaissent pas ?


2 - Quand une cellule est sélectionnée, le "cadre noir" n'apparaît
pas toujours, ce qui peut destabiliser l'utilisateur. Ceci est
particulièrement visible dans l'onglet n°1 "réf." J'ai essayé avec
"Application.EnableEvents = True" ou "DoEvents", en vain ...


3 - Dans l'onglet n°1 (cellules "I1:N2", aurais-je pu intégrer la
formule de tri dans la colonne des données elle-même ?


Merci pour votre aide,

JP






















Avatar
LSteph
... amha vaudrait qd m$ême mieux le mettre dans le Workbook_open
au lieu d'utiliser un auto_open

j-pascal a écrit :
Re,

Est-ce que mon "userinterfaceonly" est mal placé, car il y était déjà ?

'------
Private Sub auto_open()
Dim Sh As Worksheet

Application.ScreenUpdating = False
Application.EnableEvents = True

For Each Sh In ThisWorkbook.Sheets
Sh.Visible = xlSheetVisible
Sh.Protect _
Password:="", _
DrawingObjects:úlse, _
Contents:=True, _
Scenarios:=True, _
userinterfaceonly:=True
Sh.EnableSelection = xlUnlockedCells
Next
'------

JP

Bonjour.
Tu as deux options :
1. Déprotéger la feuille avant de supprimer le commentaire et la
reprotéger ensuite.
2. Protéger la feuille avec le paramètre "userinterfaceonly" ainsi, la
feuille est uniquement protégée depuis Excel, pas depuis VBA.
Daniel

C'est le même message que le précédent ?

Dans :
outils/protection/protéger la feuille/autoriser tous les utilisateurs...
Le mot "commentaire" ne figure pas dans la liste. Est-il lié à
"objet" ? Sinon, comment protéger la feuille "hors" commentaires ?

JP

PS : en même temps, je ne vois toujours pas pourquoi j'aurais un pb
avec la protection pour supprimer un commentaire, alors qu'avec cette
même protection j'ai pu saisir le commentaire !

La protection de la feuille, si, comme je le pense, le verrouillage
de la cellule ne concerne que sa valeur.
Daniel

Oui, je vois, mais dès lors que la cellule est déverrouillée
qu'est-ce qui empêche l'action sur le commentaire ??

JP

Apparemment, le déverrouillage ne concerne que la valeur de la
cellule. Si tu procèdes manuellement, tu vois que même pour une
cellule déverrouillée, tu ne peux pas effacer un commentaire quand
la feuille est protégée.
Daniel

Oui, certes, mais néanmoins je ne comprends pas pourquoi ce bout
de code efface le contenu de la cellule mais pas le commentaire !
En gros, pourquoi :
.ClearContents s'applique
.ClearComments ne s'applique pas

JP

Fais un essai avec la feuille déprotégée.
Daniel

Bonsoir Daniel,

Pour effacer le commentaire ? Je ne comprends pas, cette plage
est déverrouillée, c'est d'ailleurs ce qui permet à
l'utilisateur de "saisir" un commentaire !

JP

Bonsoir.
Pour le premier point, il faut que tu déprotèges la feuille.
Cordialement.
Daniel

Bonsoir,

Je crains que vous me repprochiez de poser plusieurs
questions dans un seul fil ...

http://cjoint.com/?lCuV0qYIzu

Pour une raison que j'ignore, le code suivant ne supprime pas
le(s) commentaire(s) (cf. bas de ce présent message) :

'----------------------
For decalage = 1 To 10
With Target.Offset(0, decalage)
.ClearContents
.ClearComments
End With
Next
'----------------------



Pourquoi, dans ce qui suit, la petite flèche du menu
déroulant s'affiche, mais la liste ne se déroule pas
"automatiquement" ?

'----------------------
Private Sub Recherche2_Click()
[j1].Select
SendKeys "%{Down}"
End Sub
'----------------------



J'imagine qu'on peut optimiser ce bout de code :

'---------------------
If [f1] = "" Then
Recherche1.Visible = True
Else
Recherche1.Visible = False
End If
'---------------------


Questions subsidiaires :

1 - (un double-clic sur un numéro de la colonne A est censé
supprimer les valeurs de la ligne correspondante + les
commentaires !)

Pourquoi les commentaires ne disparaissent pas ?


2 - Quand une cellule est sélectionnée, le "cadre noir"
n'apparaît pas toujours, ce qui peut destabiliser
l'utilisateur. Ceci est particulièrement visible dans
l'onglet n°1 "réf." J'ai essayé avec
"Application.EnableEvents = True" ou "DoEvents", en vain ...


3 - Dans l'onglet n°1 (cellules "I1:N2", aurais-je pu
intégrer la formule de tri dans la colonne des données
elle-même ?


Merci pour votre aide,

JP
























Avatar
j-pascal
Ca fonctionne ?? Oui, pour cette page, mais pas pour l'onglet "Réf."
(où il n'y a toujours pas de "cadre de sélection" !

Je pense que tu ne risques rien avec mon classeur, mais bon ...

JP

Fiat lux! alors, je dis comme steph, ça fonctionne. Je n'avais pas exécuté la
macro auto_open (je m'en méfie avec un classeur inconnu).
Daniel

Re,

Est-ce que mon "userinterfaceonly" est mal placé, car il y était déjà ?

'------
Private Sub auto_open()
Dim Sh As Worksheet

Application.ScreenUpdating = False
Application.EnableEvents = True

For Each Sh In ThisWorkbook.Sheets
Sh.Visible = xlSheetVisible
Sh.Protect _
Password:="", _
DrawingObjects:úlse, _
Contents:=True, _
Scenarios:=True, _
userinterfaceonly:=True
Sh.EnableSelection = xlUnlockedCells
Next
'------

JP

Bonjour.
Tu as deux options :
1. Déprotéger la feuille avant de supprimer le commentaire et la
reprotéger ensuite.
2. Protéger la feuille avec le paramètre "userinterfaceonly" ainsi, la
feuille est uniquement protégée depuis Excel, pas depuis VBA.
Daniel

C'est le même message que le précédent ?

Dans :
outils/protection/protéger la feuille/autoriser tous les utilisateurs...
Le mot "commentaire" ne figure pas dans la liste. Est-il lié à "objet" ?
Sinon, comment protéger la feuille "hors" commentaires ?

JP

PS : en même temps, je ne vois toujours pas pourquoi j'aurais un pb avec
la protection pour supprimer un commentaire, alors qu'avec cette même
protection j'ai pu saisir le commentaire !

La protection de la feuille, si, comme je le pense, le verrouillage de
la cellule ne concerne que sa valeur.
Daniel

Oui, je vois, mais dès lors que la cellule est déverrouillée qu'est-ce
qui empêche l'action sur le commentaire ??

JP

Apparemment, le déverrouillage ne concerne que la valeur de la
cellule. Si tu procèdes manuellement, tu vois que même pour une
cellule déverrouillée, tu ne peux pas effacer un commentaire quand la
feuille est protégée.
Daniel

Oui, certes, mais néanmoins je ne comprends pas pourquoi ce bout de
code efface le contenu de la cellule mais pas le commentaire ! En
gros, pourquoi :
.ClearContents s'applique
.ClearComments ne s'applique pas

JP

Fais un essai avec la feuille déprotégée.
Daniel

Bonsoir Daniel,

Pour effacer le commentaire ? Je ne comprends pas, cette plage est
déverrouillée, c'est d'ailleurs ce qui permet à l'utilisateur de
"saisir" un commentaire !

JP

Bonsoir.
Pour le premier point, il faut que tu déprotèges la feuille.
Cordialement.
Daniel

Bonsoir,

Je crains que vous me repprochiez de poser plusieurs questions
dans un seul fil ...

http://cjoint.com/?lCuV0qYIzu

Pour une raison que j'ignore, le code suivant ne supprime pas
le(s) commentaire(s) (cf. bas de ce présent message) :

'----------------------
For decalage = 1 To 10
With Target.Offset(0, decalage)
.ClearContents
.ClearComments
End With
Next
'----------------------



Pourquoi, dans ce qui suit, la petite flèche du menu déroulant
s'affiche, mais la liste ne se déroule pas "automatiquement" ?

'----------------------
Private Sub Recherche2_Click()
[j1].Select
SendKeys "%{Down}"
End Sub
'----------------------



J'imagine qu'on peut optimiser ce bout de code :

'---------------------
If [f1] = "" Then
Recherche1.Visible = True
Else
Recherche1.Visible = False
End If
'---------------------


Questions subsidiaires :

1 - (un double-clic sur un numéro de la colonne A est censé
supprimer les valeurs de la ligne correspondante + les
commentaires !)

Pourquoi les commentaires ne disparaissent pas ?


2 - Quand une cellule est sélectionnée, le "cadre noir"
n'apparaît pas toujours, ce qui peut destabiliser l'utilisateur.
Ceci est particulièrement visible dans l'onglet n°1 "réf." J'ai
essayé avec "Application.EnableEvents = True" ou "DoEvents", en
vain ...


3 - Dans l'onglet n°1 (cellules "I1:N2", aurais-je pu intégrer la
formule de tri dans la colonne des données elle-même ?


Merci pour votre aide,

JP
























Avatar
j-pascal
Bonsoir,

Je ne doute absolument pas qu'il s'agisse d'un bon conseil, mais
c'était pour ne pas mettre trop de choses dans "ThisWorkbook" ... et
puis à quoi sert "auto_open" - quel inconvénient de mettre ce bout de
code ici ?

JP

... amha vaudrait qd m$ême mieux le mettre dans le Workbook_open
au lieu d'utiliser un auto_open

j-pascal a écrit :
Re,

Est-ce que mon "userinterfaceonly" est mal placé, car il y était déjà ?

'------
Private Sub auto_open()
Dim Sh As Worksheet

Application.ScreenUpdating = False
Application.EnableEvents = True

For Each Sh In ThisWorkbook.Sheets
Sh.Visible = xlSheetVisible
Sh.Protect _
Password:="", _
DrawingObjects:úlse, _
Contents:=True, _
Scenarios:=True, _
userinterfaceonly:=True
Sh.EnableSelection = xlUnlockedCells
Next
'------

JP

Bonjour.
Tu as deux options :
1. Déprotéger la feuille avant de supprimer le commentaire et la
reprotéger ensuite.
2. Protéger la feuille avec le paramètre "userinterfaceonly" ainsi, la
feuille est uniquement protégée depuis Excel, pas depuis VBA.
Daniel

C'est le même message que le précédent ?

Dans :
outils/protection/protéger la feuille/autoriser tous les utilisateurs...
Le mot "commentaire" ne figure pas dans la liste. Est-il lié à "objet" ?
Sinon, comment protéger la feuille "hors" commentaires ?

JP

PS : en même temps, je ne vois toujours pas pourquoi j'aurais un pb avec
la protection pour supprimer un commentaire, alors qu'avec cette même
protection j'ai pu saisir le commentaire !

La protection de la feuille, si, comme je le pense, le verrouillage de
la cellule ne concerne que sa valeur.
Daniel

Oui, je vois, mais dès lors que la cellule est déverrouillée qu'est-ce
qui empêche l'action sur le commentaire ??

JP

Apparemment, le déverrouillage ne concerne que la valeur de la
cellule. Si tu procèdes manuellement, tu vois que même pour une
cellule déverrouillée, tu ne peux pas effacer un commentaire quand la
feuille est protégée.
Daniel

Oui, certes, mais néanmoins je ne comprends pas pourquoi ce bout de
code efface le contenu de la cellule mais pas le commentaire ! En
gros, pourquoi :
.ClearContents s'applique
.ClearComments ne s'applique pas

JP

Fais un essai avec la feuille déprotégée.
Daniel

Bonsoir Daniel,

Pour effacer le commentaire ? Je ne comprends pas, cette plage est
déverrouillée, c'est d'ailleurs ce qui permet à l'utilisateur de
"saisir" un commentaire !

JP

Bonsoir.
Pour le premier point, il faut que tu déprotèges la feuille.
Cordialement.
Daniel

Bonsoir,

Je crains que vous me repprochiez de poser plusieurs questions
dans un seul fil ...

http://cjoint.com/?lCuV0qYIzu

Pour une raison que j'ignore, le code suivant ne supprime pas
le(s) commentaire(s) (cf. bas de ce présent message) :

'----------------------
For decalage = 1 To 10
With Target.Offset(0, decalage)
.ClearContents
.ClearComments
End With
Next
'----------------------



Pourquoi, dans ce qui suit, la petite flèche du menu déroulant
s'affiche, mais la liste ne se déroule pas "automatiquement" ?

'----------------------
Private Sub Recherche2_Click()
[j1].Select
SendKeys "%{Down}"
End Sub
'----------------------



J'imagine qu'on peut optimiser ce bout de code :

'---------------------
If [f1] = "" Then
Recherche1.Visible = True
Else
Recherche1.Visible = False
End If
'---------------------


Questions subsidiaires :

1 - (un double-clic sur un numéro de la colonne A est censé
supprimer les valeurs de la ligne correspondante + les
commentaires !)

Pourquoi les commentaires ne disparaissent pas ?


2 - Quand une cellule est sélectionnée, le "cadre noir"
n'apparaît pas toujours, ce qui peut destabiliser l'utilisateur.
Ceci est particulièrement visible dans l'onglet n°1 "réf." J'ai
essayé avec "Application.EnableEvents = True" ou "DoEvents", en
vain ...


3 - Dans l'onglet n°1 (cellules "I1:N2", aurais-je pu intégrer la
formule de tri dans la colonne des données elle-même ?


Merci pour votre aide,

JP


























1 2 3 4