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 ?
OK. Telle que j'ai interprété ta phrase "Ca fonctionne ?? Oui, pour cette page, mais pas pour l'onglet "Réf." ", je l'ai comprise comme un problème de commentaire puisque le ça fonctionne y faisait référence et que tu as ouvert un nouveau fil sur l'autre sujet. Daniel
??? 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
OK. Telle que j'ai interprété ta phrase "Ca fonctionne ?? Oui, pour
cette page, mais pas pour l'onglet "Réf." ", je l'ai comprise comme un
problème de commentaire puisque le ça fonctionne y faisait référence et
que tu as ouvert un nouveau fil sur l'autre sujet.
Daniel
??? 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
OK. Telle que j'ai interprété ta phrase "Ca fonctionne ?? Oui, pour cette page, mais pas pour l'onglet "Réf." ", je l'ai comprise comme un problème de commentaire puisque le ça fonctionne y faisait référence et que tu as ouvert un nouveau fil sur l'autre sujet. Daniel
??? 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
Daniel.C
J'ai du mal à m'expliquer, ce soir. Je parle de la différence entre la macro Workbook_Open dans thisworkbook et la macro auto_open dans un module standard. Si un classeur possède ces deux macros et si je l'ouvre avec du code VBA, la première macro s'exécutera et pas la seconde. Daniel
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 !
@+
J'ai du mal à m'expliquer, ce soir. Je parle de la différence entre la
macro Workbook_Open dans thisworkbook et la macro auto_open dans un
module standard. Si un classeur possède ces deux macros et si je
l'ouvre avec du code VBA, la première macro s'exécutera et pas la
seconde.
Daniel
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
J'ai du mal à m'expliquer, ce soir. Je parle de la différence entre la macro Workbook_Open dans thisworkbook et la macro auto_open dans un module standard. Si un classeur possède ces deux macros et si je l'ouvre avec du code VBA, la première macro s'exécutera et pas la seconde. Daniel
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 !
@+
Daniel.C
C'est la réponse à ta phrase : "Ici tu peux ouvrir le classeur et accéder au code sans activer les macros" Simplement.
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 ?
C'est la réponse à ta phrase : "Ici tu peux ouvrir le classeur et accéder au code sans activer les macros" Simplement.
J'imagine qu'à partir de là, on doit pouvoir se rendre compte qu'il n'y a rien de nuisible à l'environnement d'Excel ...
Je n'ai pas décortiqué le code, jai renommé la macro. Voila. Daniel
C'est la réponse à ta phrase :
"Ici tu peux ouvrir le classeur et accéder au code sans activer les
macros"
Simplement.
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 ?
C'est la réponse à ta phrase :
"Ici tu peux ouvrir le classeur et accéder au code sans activer les
macros"
Simplement.
J'imagine qu'à partir de là, on doit pouvoir se rendre
compte qu'il n'y a rien de nuisible à l'environnement d'Excel ...
Je n'ai pas décortiqué le code, jai renommé la macro. Voila.
Daniel
C'est la réponse à ta phrase : "Ici tu peux ouvrir le classeur et accéder au code sans activer les macros" Simplement.
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 ?
C'est la réponse à ta phrase : "Ici tu peux ouvrir le classeur et accéder au code sans activer les macros" Simplement.
J'imagine qu'à partir de là, on doit pouvoir se rendre compte qu'il n'y a rien de nuisible à l'environnement d'Excel ...
Je n'ai pas décortiqué le code, jai renommé la macro. Voila. Daniel
j-pascal
Non, non, c'est moi qui ai du mal à comprendre.
".. si je l'ouvre avec du code VBA .." Tu veux dire si tu l'ouvres à partir d'un autre classeur, via une macro ? Pour moi (néophyte !) ouvrir avec du code VBA, signifierait plutôt "ouvrir le classeur en activant les macros".
Ne te sens pas contraint de répondre à cela, car j'ai un peu honte d'avoir l'impression de te faire perdre un temps précieux !
JP
J'ai du mal à m'expliquer, ce soir. Je parle de la différence entre la macro Workbook_Open dans thisworkbook et la macro auto_open dans un module standard. Si un classeur possède ces deux macros et si je l'ouvre avec du code VBA, la première macro s'exécutera et pas la seconde. Daniel
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 !
@+
Non, non, c'est moi qui ai du mal à comprendre.
".. si je l'ouvre avec du code VBA .."
Tu veux dire si tu l'ouvres à partir d'un autre classeur, via une macro
? Pour moi (néophyte !) ouvrir avec du code VBA, signifierait plutôt
"ouvrir le classeur en activant les macros".
Ne te sens pas contraint de répondre à cela, car j'ai un peu honte
d'avoir l'impression de te faire perdre un temps précieux !
JP
J'ai du mal à m'expliquer, ce soir. Je parle de la différence entre la macro
Workbook_Open dans thisworkbook et la macro auto_open dans un module
standard. Si un classeur possède ces deux macros et si je l'ouvre avec du
code VBA, la première macro s'exécutera et pas la seconde.
Daniel
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
".. si je l'ouvre avec du code VBA .." Tu veux dire si tu l'ouvres à partir d'un autre classeur, via une macro ? Pour moi (néophyte !) ouvrir avec du code VBA, signifierait plutôt "ouvrir le classeur en activant les macros".
Ne te sens pas contraint de répondre à cela, car j'ai un peu honte d'avoir l'impression de te faire perdre un temps précieux !
JP
J'ai du mal à m'expliquer, ce soir. Je parle de la différence entre la macro Workbook_Open dans thisworkbook et la macro auto_open dans un module standard. Si un classeur possède ces deux macros et si je l'ouvre avec du code VBA, la première macro s'exécutera et pas la seconde. Daniel
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 !
@+
Daniel.C
> Tu veux dire si tu l'ouvres à partir d'un autre classeur, via une macro ?
Oui
Pour moi (néophyte !) ouvrir avec du code VBA, signifierait plutôt "ouvrir le classeur en activant les macros".
On pourrait effectivement le comprendre comme ça. Il était tard... Daniel
> Tu veux dire si tu l'ouvres à partir d'un autre classeur, via une macro ?
Oui
Pour moi (néophyte !) ouvrir avec du code VBA, signifierait plutôt "ouvrir le
classeur en activant les macros".
On pourrait effectivement le comprendre comme ça. Il était tard...
Daniel