Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 04/02/2010, 15h53   #1
Invité de passage
 
Homme Guy Dossin
Process Engineer
Inscription : février 2010
Messages : 5
Détails du profil
Informations personnelles :
Nom : Homme Guy Dossin
Localisation : Belgique

Informations professionnelles :
Activité : Process Engineer
Secteur : Industrie

Informations forums :
Inscription : février 2010
Messages : 5
Points : 3
Points : 3
Par défaut Compression d'images en VBA

Bonjour,
Comment peut'on comprimer des images à la fermeture d'un fichier Excel via "BeforeClose" ?
C'est à dire lancer en automatique la fonction "Compress Pictures" de la barre d'outil "Pictures".
Merci.
belgudo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2010, 19h03   #2
Membre habitué
 
Inscription : juin 2009
Messages : 85
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juin 2009
Messages : 85
Points : 109
Points : 109
Bonjour,

Une piste avec le code suivant

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub CompressionImage()
Dim C As CommandBarControl
Application.ScreenUpdating = False
For Each C In Application.CommandBars("Picture").Controls
  If TypeOf C Is CommandBarButton Then
    If C.ID = 6382 Then
      Application.SendKeys "{DOWN}{TAB}{UP}{ENTER}{ENTER}", True
      C.Execute
      Exit For
    End If
  End If
Next C
Application.ScreenUpdating = True
End Sub
Ne pas faire tourner le code dans le VBE (à cause de SendKeys) mais dans Excel.

Cordialement.

PMO
Patrick Morange
PMO2017 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2010, 09h49   #3
Invité de passage
 
Homme Guy Dossin
Process Engineer
Inscription : février 2010
Messages : 5
Détails du profil
Informations personnelles :
Nom : Homme Guy Dossin
Localisation : Belgique

Informations professionnelles :
Activité : Process Engineer
Secteur : Industrie

Informations forums :
Inscription : février 2010
Messages : 5
Points : 3
Points : 3
Merci pour l'aide
J'avais oublié l'attente de SendKeys avant l'exécution de la boite de dialogue
Voici le code que j'ai utilisé :
Code :
1
2
3
4
Sub CompressPictures()
Application.SendKeys "{DOWN}{TAB}{UP}{ENTER}, True
Application.CommandBars("Picture").Controls(10).Execute
End Sub

Dernière modification par AlainTech ; 27/04/2010 à 02h57. Motif: Balises [code]
belgudo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 12h26.


 
 
 
 
Partenaires

Hébergement Web