Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Usine à gaz

XLDnaute Barbatruc
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

Dernière édition:
Re

Parce que dans mes usines à gaz, les simulations de touches génèrent des actions dont j'ai besoin
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.
 
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. 🙂
 
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:
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

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:
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

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



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
 
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 😛
 
Dernière édition:
Merci @fanch55 pour ton code 🙂
Effectivement et Merci à Gérard pour ton code nickel et rapide (comme toujours) 🙂
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 😳
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
17
Affichages
878
Réponses
16
Affichages
947
Réponses
7
Affichages
889
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…