Microsoft 365 Explorateur d'objets vba ouverture intempestive (pour moi)

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous :)

Je suis en face d'un souci que je ne sais encore pas résoudre et je fais appels à nos ténors.
J'ai un code, juste pour le test, dans le fichier test joint :
VB:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
'clic D1 entrer pour mise à jour
CreateObject("wscript.shell").SendKeys "{F2}"
CreateObject("wscript.shell").SendKeys "{ENTER}"

If Not Intersect(R, Range("g2:j20")) Is Nothing Then
ActiveSheet.Unprotect Password:=""
    CreateObject("wscript.shell").SendKeys "{ENTER}"
ActiveSheet.Protect Password:="", DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
End Sub
Ce code ouvre l'explorateur d'objets.
Je voudrais que ce ne code n'ouvre pas l'explorateur mais je n'ai pas trouvé comment faire.

Auriez-vous la solution ?
Merci à toutes et à tous,
Amicalement,
lionel :)
 

Pièces jointes

  • explorateur.xlsm
    66.2 KB · Affichages: 10
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re


Ca ne réponds pas à ma question...
Car comme je le disais, sachant précisément de quoi il retourne, on peut employer une autre syntaxe VBA qui aura le même effet sans les inconvénients.
C'est vrai, tu as raison mais là, je ne sais pas répondre.
Il me faut le temps d'aller voir dans mes fichiers et, même, je ne suis pas certain de pouvoir expliquer clairement chaque application. :)
 

TooFatBoy

XLDnaute Barbatruc
La cloche, apparemment ça vient du fait que tu envoies un <Enter> sur une cellule protégée.

[edit]
Je viens de regarder de plus près et c'est plutôt quand tu envoies le <F2> sur une cellule protégée , que ça fait sonner cloche.
Si tu inhibes ta macro et que tu laisses ta feuille protégée, tu constateras que l'appui sur <F2>, sur une cellule protégée, fait sonner la cloche. ;)
[/edit]
 
Dernière édition:

job75

XLDnaute Barbatruc
Bonsoir Lionel, fanch55, Marcel32, JM,

Lionel ton code est inutilement compliqué, ceci est plus simple :
VB:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
CreateObject("wscript.shell").SendKeys "{F2}{ENTER}"
End Sub
Fonctionnement quand la feuille est protégée :

- si la cellule active est verrouillée (ex A1) l'envoie de la touche F2 ouvre un message d'alerte qui est immédiatement fermé par la touche <Entrée>

- si la cellule active est déverrouillée (sur G2:J20) F2 entre le curseur dans la cellule et la touche <Entrée> la valide en déplaçant la sélection vers le bas, la macro est relancée.

Que ce soit avec ton code ou avec le mien il n'y a aucune ouverture de quoi que ce soit chez moi.

A+
 

Pièces jointes

  • explorateur.xlsm
    65.4 KB · Affichages: 3

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonsoir er Merci Gérard,

En pas à pas, le code génère :
1648237489093.png

Ce n'est pas ça qui me gène.
Ce qui me gène, c'est l'alerte sonore que je n'arrive pas à neutraliser.
lionel :)
 

TooFatBoy

XLDnaute Barbatruc
Ce qui me gène, c'est l'alerte sonore que je n'arrive pas à neutraliser.
C'est quoi la question de ce fil en fait !?!

- Tu veux empêcher l'ouverture inopinée de l'explorateur de fichiers (problème que nous n'arrivons pas à reproduire chez nous :() ?
Comme on n'arrive pas à reproduire ce dysfonctionnement chez nous, je crois qu'on ne va pas pouvoir t'aider.


ou alors

- tu veux supprimer la cloche ???
Pour ça, il te suffit de supprimer l'envoie de la simulation de la touche <F2> dans les cellules qui sont protégées :
VB:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
'clic D1 entrer pour mise à jour

'    CreateObject("wscript.shell").SendKeys "{F2}"
'    CreateObject("wscript.shell").SendKeys "{ENTER}"

    If Not Intersect(R, Range("g2:j20")) Is Nothing Then
'        ActiveSheet.Unprotect Password:=""
        CreateObject("wscript.shell").SendKeys "{F2}"
        CreateObject("wscript.shell").SendKeys "{ENTER}"
'        ActiveSheet.Protect Password:="", DrawingObjects:=True, Contents:=True, Scenarios:=True
    End If

End Sub
Ceci dit, je ne vois pas pourquoi tu enlèves la protection de la feuille pour les cellules qui justement ne sont pas protégées, alors je mets les deux lignes en commentaire (mais...).
 
Dernière édition:

job75

XLDnaute Barbatruc
J'ai bien dit que la touche F2 crée un message d'erreur, c'est lui qui crée un Beep, on ne peut pas l'éviter.

Sauf à utiliser un autre code :
VB:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
If Not ActiveCell.Locked Then ActiveCell(2).Select
End Sub
qui va bien que la feuille soit protégée ou non.
 

Pièces jointes

  • explorateur(1).xlsm
    65.6 KB · Affichages: 1

fanch55

XLDnaute Barbatruc
Si j'essaye de comprendre le pourquoi du F2+Enter avec le peu d'infos données,
je dirai que les cellules concernées contiennent des formules et le mode Calcul est en manuel.
Ceci permet donc de mettre les formules à jour ( sinon je n'en vois pas l'utilité )
Le code fonctionnel serait ainsi :
VB:
Private Sub Worksheet_SelectionChange1(ByVal R As Range)
    If Not Intersect(R, Range("g2:j20")) Is Nothing Then
        ActiveSheet.Unprotect Password:=""
        CreateObject("wscript.shell").SendKeys "{F2}{ENTER}"
        ActiveSheet.Protect Password:="", DrawingObjects:=True, Contents:=True, Scenarios:=True
    End If
End Sub
lionel.gif



Le code de @job75 (que je salue) est beaucoup plus rapide et évite les scintillements, moyennant une petite modif:
VB:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
    If Not R.Locked Then
        R.Calculate
        R(2).Select
    End If
End Sub
lionel2.gif
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonsoir à tous,

Merci fanch55 pour ton code :)
Effectivement et Merci à Gérard pour ton code nickel et rapide (comme toujours) :)
Vraiment merci à tous vous êtes supers !
lionel :)

PS pour notre patricktoulon qui m'a mis au défit de trouver des trucs bien loufoques pour ce WE ... hé bien, j'en ai 2 qui seront, je pense, pas mal, pour toi et pour notre mapomme lol :p
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Et comme d'hab' le code que je te propose tu t'en cognes et ne le teste même pas, ne serait-ce que pour me dire s'il fonctionne ou pas....

Et moi je reviens tout de même à chaque pour essayer d'aider. 🙄😤😤😤😡😡😡😡🤬🤬🤬🤬🤬
Tu as raison marcel j'avais testé ton code qui fonctionne très bien et je t'en remercie.
Désolé, j'avais "oublié" de le dire ..... excuses, excuses :oops:
 

Pièces jointes

  • explorateur(1).xlsm
    71.4 KB · Affichages: 0

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 909
Membres
101 836
dernier inscrit
karmon