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)

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

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

Staple1600

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

Usine à gaz

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

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



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
 

Usine à gaz

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

Usine à gaz

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

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

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…