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
Daniel.C
Manuellement, si. j'ai pas testé ta macro parce que je ne vois pas de
clearcomment dedans.
Daniel

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
Daniel.C
> Je pense que tu ne risques rien avec mon classeur, mais bon ...



1. Seuls ceux qui ont fait confiance se sont fait escroquer.
2. "La confiance, c'est bien, le contrôle, c'est mieux" (Lénine)
;-)))
Daniel
Avatar
Daniel.C
>> Je pense que tu ne risques rien avec mon classeur, mais bon ...



1. Seuls ceux qui ont fait confiance se sont fait escroquer.
2. "La confiance, c'est bien, le contrôle, c'est mieux" (Lénine)
;-)))
Daniel



Ceci dit, la malveillance, je n'ai jamais rencontré, mais les classeurs
qui te massacrent ton environnement, oui. Barres d'outils supprimées,
ascenseurs disparus, passage au calcul manuel, ça arrive quand même
trop souvent.
Daniel
Avatar
j-pascal
Soit !

Ici tu peux ouvrir le classeur et accéder au code sans activer les
macros : http://cjoint.com/?lDwx2wmcY6

JP

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



1. Seuls ceux qui ont fait confiance se sont fait escroquer.
2. "La confiance, c'est bien, le contrôle, c'est mieux" (Lénine)
;-)))
Daniel



Ceci dit, la malveillance, je n'ai jamais rencontré, mais les classeurs qui
te massacrent ton environnement, oui. Barres d'outils supprimées, ascenseurs
disparus, passage au calcul manuel, ça arrive quand même trop souvent.
Daniel


Avatar
LSteph
Bonsoir,

Parce qu'il agit le premier !

@+

--
lSteph
Avatar
j-pascal
Re,

Ca y est, c'est modifié !

Merci

JP

Bonsoir,

Parce qu'il agit le premier !

@+


Avatar
Daniel.C
La différence est minime, si j'ouvre ton classeur avec une macro, seule
la macro Workbook_Open s'xécutera, pas la macro auto_open.
Daniel

Re,

Ca y est, c'est modifié !

Merci

JP

Bonsoir,

Parce qu'il agit le premier !

@+




Avatar
Daniel.C
J'ai toujours pu accéder au code. Ou j'ai mal regardé, ou il n'y a pas
de commande "clearcomments" dans le module "réf.".
Daniel

Soit !

Ici tu peux ouvrir le classeur et accéder au code sans activer les macros :
http://cjoint.com/?lDwx2wmcY6

JP

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



1. Seuls ceux qui ont fait confiance se sont fait escroquer.
2. "La confiance, c'est bien, le contrôle, c'est mieux" (Lénine)
;-)))
Daniel



Ceci dit, la malveillance, je n'ai jamais rencontré, mais les classeurs qui
te massacrent ton environnement, oui. Barres d'outils supprimées,
ascenseurs disparus, passage au calcul manuel, ça arrive quand même trop
souvent.
Daniel




Avatar
j-pascal
Je ne comprends pas. Tu parles de la deuxième version de mon classeur ?
Si oui, dans la première version, les feuilles "actives" sont
veryhidden à l'enregistrement du classeur ... Si les macros sont
désactivées, seule une page d'accueil (qui demande à l'utilisateur
d'activer les macros) est visible.
Dans la 2nd version, j'ai empêché la fermeture des dites feuilles en
veryhidden, donc tu peux accéder au code sans problème. Je pense qu'un
classeur qui est ouvert sans l'activation des macros est sans risque,
non ?
Où alors, tu fais allusion à la réponse que j'ai faite à Stéphane ...

JP

La différence est minime, si j'ouvre ton classeur avec une macro, seule la
macro Workbook_Open s'xécutera, pas la macro auto_open.
Daniel

Re,

Ca y est, c'est modifié !

Merci

JP

Bonsoir,

Parce qu'il agit le premier !

@+






Avatar
j-pascal
??? Mais ai-je dit qu'il y avait des commentaires dans ce module ?

Le commentaire s'inscrit par double-clic effectué sur les cellules de
la colonne B de la feuille "départ-arrivée" et le code (un bout !) est
le suivant :

'----
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)

If (Target.Row > 2 And Target.Row < 2000) And Target.Column = 1
Then 'And Target.Column < 12

RéponseEffacement = MsgBox("Voulez-vous vraiment supprimer la ligne
?", vbYesNo)
If RéponseEffacement = vbNo Then
Target.Offset(0, 1).Select
End
Else
If Target.Column = 1 And Not Target.Offset(0, 1).Locked
Then 'correspond à la colonne "A"
For decalage = 1 To 10
With Target.Offset(0, decalage)
.ClearContents
.ClearComments
End With
Next
[g3].End(xlDown).Offset(1, -5).Select
End If
End If
End If
Cancel = True
'----

A la 8ème ligne en partant du bas, il y a bien ce que tu cherches, ?!

JP

PS : si tu as toujours eu accès au code (ce dont ne n'ai jamais douté
!) pourquoi pouvais-tu craindre d'ouvrir le classeur après avoir
observé le contenu des macros ? J'imagine qu'à partir de là, on doit
pouvoir se rendre compte qu'il n'y a rien de nuisible à l'environnement
d'Excel ...

J'ai toujours pu accéder au code. Ou j'ai mal regardé, ou il n'y a pas de
commande "clearcomments" dans le module "réf.".
Daniel

Soit !

Ici tu peux ouvrir le classeur et accéder au code sans activer les macros :
http://cjoint.com/?lDwx2wmcY6

JP

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



1. Seuls ceux qui ont fait confiance se sont fait escroquer.
2. "La confiance, c'est bien, le contrôle, c'est mieux" (Lénine)
;-)))
Daniel



Ceci dit, la malveillance, je n'ai jamais rencontré, mais les classeurs
qui te massacrent ton environnement, oui. Barres d'outils supprimées,
ascenseurs disparus, passage au calcul manuel, ça arrive quand même trop
souvent.
Daniel






1 2 3 4