> Tous les forums > Forum Bureautique
 VBA Nom de la CommandBar Outils Image Mise en formeSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Debrief
  Posté le 20/03/2019 @ 22:09 
Aller en bas de la page 
Astucien

Bonjour,

Je n'arrive pas à trouver le nom de la CommandBar de cette option qui ne vient qu'en sélectionnant une image dans une feuille Excel (2013).

Rien n'est généré en enregistrement de Macro, je voudrais y aller avec des SendKeys sur l'exécution d'un CommandBars("NomInconnu").Controls("xyz").Execute.

Ou encore le Control qui affche ça

Cordialement,
D.



Modifié par Debrief le 20/03/2019 22:22
Publicité
m@rina
 Posté le 21/03/2019 à 05:01 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Bonjour,

Pour afficher cette boîte de dialogue, voici le code :

CommandBars.FindControl(ID:=4273).Execute

Pour les Sendkeys, je ne sais pas. Mais ce que je sais, c'est que paraît buggé avec les versions récentes, car ça désactive le clavier numérique... A tester.

Debrief
 Posté le 21/03/2019 à 08:57 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Merci Marina.

Puis-je te demander comment tu as eu cette information ?

La commande CommandBars.FindControl(ID:=4273).Execute se termine hélas par une erreur, même en sélectionnant une image pour être dans les conditions de l'interface.

ActiveSheet.Shapes.Range(Array("Picture 16")).Select
Application.CommandBars.FindControl(ID:=4273).Execute

J'ai galéré sur Internet sans trouver de réponse, la compression qu'on y trouve est invariablement celle d'Office 2003 CommandBars.FindControl(ID:=6382).Execute qui affiche effectivement l'ancien panneau de compression en Excel 2007+ qui semble fonctionner mais qui est sans aucun effet de compression sur les images d'une feuille Excel 2007+.

Cordialement,
D.

Debrief
 Posté le 21/03/2019 à 10:17 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Pour afficher le menu de compression pour Excel 2007+ il faut faire Application.CommandBars.ExecuteMso "PicturesCompress"

Affiche l'ancien panneau de compression (inopérant en Excel 2007+) si pas d'image sélectionnée.

Affiche le nouveau panneau de compression si une image sélectionnée.



Modifié par Debrief le 21/03/2019 10:54
Debrief
 Posté le 21/03/2019 à 12:15 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Pour compresser toutes les images en 96 ppp/dpi:

ActiveSheet.Pictures(1).Select
Application.SendKeys "AC~", True
Application.CommandBars.ExecuteMso "PicturesCompress"

A noter qu'en cas de 1er affichage du menu de compression, il apparaît de cette manière:

Après l'exécution du code ci-dessus, il apparaîtra de cette manière:

C'est à dire que les précédents choix seront conservés, ce qui va poser problème pour l'application à toutes les images si on conserve le même code (A va alors appliquer à l'image sélectionnée uniquement).
Donc si on est amené à faire l'opération plusieurs fois dans une session Excel il faut savoir si c'est la 1ère fois ou pas.

Cette petite procédure devrait répondre au besoin -> https://cjoint.com/c/ICvloNYjXXt

Cordialement,
D.

m@rina
 Posté le 21/03/2019 à 14:01 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Bonjour

Désolée, je t'ai donné effectivement une solution qui fonctionne avec Word. Pour Excel, Debrief t'a bien donné la solution qui fonctionne aussi avec Word, mais pas avec PPT ! :(

m@rina

Debrief
 Posté le 21/03/2019 à 15:19 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Certes la solution est là mais je l'ai trouvée sur Internet après pas mal de temps d'errance et de tests.

Ce qui m'échappe dans cette syntaxe Application.CommandBars.ExecuteMso "PicturesCompress" c'est l'origine du "PicturesCompress" qui ne correspond à aucun des Controls dont j'ai tenté de faire les listes associées aux possibles CommandBars.

D'où vient-il, et ceux des autres options ? La documentation Microsoft ne donne pas plus d'information CommandBars.ExecuteMso. Faudrait s'y plonger mais ça va prendre trop de temps.

m@rina
 Posté le 21/03/2019 à 18:00 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Debrief
 Posté le 21/03/2019 à 18:06 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Merci m@rina.

Publicité
Debrief
 Posté le 22/03/2019 à 20:34 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

En fait ce n'est pas si simple car la 1ère exécution de la fonction de compression a la particularité d'affecter le Num Lock du clavier !

m@rina avait vu juste...

Pour les Sendkeys, je ne sais pas. Mais ce que je sais, c'est que paraît buggé avec les versions récentes, car ça désactive le clavier numérique... A tester.

Ce sont bien les SendKeys qui désactivent le Num Lock (bug Excel) et pour contrer le problème il faut renvoyer un SendKeys "{NUMLOCK"} si le Num Lock était intialement ON.

J'ai donc modifié le module pour prendre en compte ce problème.

Fichier -> https://cjoint.com/c/ICxhRHIksVq



Modifié par Debrief le 23/03/2019 08:45
Debrief
 Posté le 23/03/2019 à 08:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Après avoir davantage investigué sur le problème du Num Lock, j'ai modifié mon post précédent ainsi que son fichier joint qui a été simplifié (1 seul module).

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
barre d'outils de mise en forme qui disparait
mise en forme perdue après numérisation
Mise en forme conditionnelle
MISE EN FORME CONDITIONNELLE EXCEL
Mise en forme conditionnelle sous word
Grouper une image et une forme avec Word 365
Mise en forme conditionnelle
mise en forme texte sur word
mise en forme conditionnelle sur date variable
Mise en forme courriel depuis GMAIL?
Plus de sujets relatifs à VBA Nom de la CommandBar Outils Image Mise en forme
 > Tous les forums > Forum Bureautique