Bonjour à tous
Voilà un petit problème que je soumet aux demi-Dieux de la
programmation VBA pour Excel ; demi-Dieux car, à l’instar d’Achille
ou d’Héraclès, ils ne sont que mortels.
Le programme sur lequel je travail est une petite application professionnelle
que je développe pour PSA. Je ne suis absolument pas programmeur de
profession et ce n’est donc pas ma fonction au sein de l’entreprise, mais le
besoin existe et il semble que je sois le seul dans le service à pouvoir y
répondre. Il s’agit d’un « bénévolat professionnel » en quelque sorte…
Bref, ce programme va tourner sur deux environnements différents :
-sur PC classiques
-sur « Citrix », émulation PC sur station et environnement Unix
Sur la première feuille du classeur (activée à l’ouverture de ce dernier),
on trouve les boutons de commande et un superbe « cache misère » constitué
d’une image représentant…des automobiles (je voulais mettre des chatons dans
un panier, mais ma hiérarchie a refusée).
Le problème est que lorsque l’on ouvre Excel sur PC la taille de la fenêtre
n’est pas la même que lorsqu’on l’ouvre sur Citrix. Ceci est probablement du
aux résolutions d’écran que je ne peux pas modifier. Pour exemple
-Ouverture sur PC : ligne 35, colonne L
-Ouverture sur Citrix : ligne 46, colonne N
Si l’image est correctement dimensionnée pour PC, elle ne cache plus la
misère sur Citrix, à l’inverse si elle est correctement dimensionnée pour
Citrix on ne voit plus apparaître le logo « PSA » sur PC, ce qui est
proprement scandaleux ( on est au bord du crime de lèse Majesté).
Y a t’il un moyen de redimensionner ( par VB ) automatiquement l’image ? Ou,
à défaut de reconnaître la taille d’ouverture de la fenêtre ? Ou tout autre «
truc » qui me permettrais de savoir si Excel s’ouvre sur PC ou Citrix ? Je
pourrai appliquer alors les méthodes ScaleHeight et ScaleWidth avec les
facteurs que j’aurai préalablement définit par enregistrement de macro.
D’avance merci
Slts
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
RGI
bonjour
tu peux essayer ça
dans un module
'résolution de l'écran du poste de travail 'Tom Ogilvy, mpep cité par Frédéric Sigonneau sur son site Web
'***************************************************************** ' DECLARATIONS SECTION '***************************************************************** Option Explicit Type RECT x1 As Long y1 As Long x2 As Long y2 As Long End Type
' NOTE: The following declare statements are case sensitive. Declare Function GetDesktopWindow Lib "User32" () As Long Declare Function GetWindowRect Lib "User32" _ (ByVal hWnd As Long, rectangle As RECT) As Long
'***************************************************************** ' FUNCTION: GetScreenResolution() ' ' PURPOSE: ' To determine the current screen size or resolution. ' ' RETURN: ' The current screen resolution. Typically one of the following: ' 640 x 480 ' 800 x 600 ' 1024 x 768 ' '***************************************************************** Function GetScreenResolution() As String Dim R As RECT Dim hWnd As Long Dim RetVal As Long
End Function '****************************************************************************** Sub tamacro() Dim ecran ecran = GetScreenResolution MsgBox "La resolution d'écran est :" & ecran End Sub
et dans thisworkbook
Private Sub Workbook_Open() If GetScreenResolution = "640x480" Then tamacro If GetScreenResolution = "800x600" Then tamacro If GetScreenResolution = "1024x768" Then tamacro If GetScreenResolution = "1280x1024" Then tamacro
End Sub
"El pequeno" a écrit dans le message de news:
Bonjour à tous Voilà un petit problème que je soumet aux demi-Dieux de la programmation VBA pour Excel ; demi-Dieux car, à l'instar d'Achille ou d'Héraclès, ils ne sont que mortels.
Le programme sur lequel je travail est une petite application professionnelle que je développe pour PSA. Je ne suis absolument pas programmeur de profession et ce n'est donc pas ma fonction au sein de l'entreprise, mais le besoin existe et il semble que je sois le seul dans le service à pouvoir y répondre. Il s'agit d'un « bénévolat professionnel » en quelque sorte.
Bref, ce programme va tourner sur deux environnements différents : -sur PC classiques -sur « Citrix », émulation PC sur station et environnement Unix Sur la première feuille du classeur (activée à l'ouverture de ce dernier), on trouve les boutons de commande et un superbe « cache misère » constitué d'une image représentant.des automobiles (je voulais mettre des chatons dans un panier, mais ma hiérarchie a refusée). Le problème est que lorsque l'on ouvre Excel sur PC la taille de la fenêtre n'est pas la même que lorsqu'on l'ouvre sur Citrix. Ceci est probablement du aux résolutions d'écran que je ne peux pas modifier. Pour exemple -Ouverture sur PC : ligne 35, colonne L -Ouverture sur Citrix : ligne 46, colonne N Si l'image est correctement dimensionnée pour PC, elle ne cache plus la misère sur Citrix, à l'inverse si elle est correctement dimensionnée pour Citrix on ne voit plus apparaître le logo « PSA » sur PC, ce qui est proprement scandaleux ( on est au bord du crime de lèse Majesté).
Y a t'il un moyen de redimensionner ( par VB ) automatiquement l'image ? Ou, à défaut de reconnaître la taille d'ouverture de la fenêtre ? Ou tout autre « truc » qui me permettrais de savoir si Excel s'ouvre sur PC ou Citrix ? Je pourrai appliquer alors les méthodes ScaleHeight et ScaleWidth avec les facteurs que j'aurai préalablement définit par enregistrement de macro. D'avance merci Slts
bonjour
tu peux essayer ça
dans un module
'résolution de l'écran du poste de travail
'Tom Ogilvy, mpep cité par Frédéric Sigonneau sur son site Web
'*****************************************************************
' DECLARATIONS SECTION
'*****************************************************************
Option Explicit
Type RECT
x1 As Long
y1 As Long
x2 As Long
y2 As Long
End Type
' NOTE: The following declare statements are case sensitive.
Declare Function GetDesktopWindow Lib "User32" () As Long
Declare Function GetWindowRect Lib "User32" _
(ByVal hWnd As Long, rectangle As RECT) As Long
'*****************************************************************
' FUNCTION: GetScreenResolution() ' ' PURPOSE:
' To determine the current screen size or resolution. '
' RETURN:
' The current screen resolution. Typically one of the following:
' 640 x 480 ' 800 x 600 ' 1024 x 768 '
'*****************************************************************
Function GetScreenResolution() As String
Dim R As RECT
Dim hWnd As Long
Dim RetVal As Long
End Function
'******************************************************************************
Sub tamacro()
Dim ecran
ecran = GetScreenResolution
MsgBox "La resolution d'écran est :" & ecran
End Sub
et dans thisworkbook
Private Sub Workbook_Open()
If GetScreenResolution = "640x480" Then tamacro
If GetScreenResolution = "800x600" Then tamacro
If GetScreenResolution = "1024x768" Then tamacro
If GetScreenResolution = "1280x1024" Then tamacro
End Sub
"El pequeno" <Elpequeno@discussions.microsoft.com> a écrit dans le message
de news: 0296EBD8-A49F-45E4-A4FD-5895D3256E74@microsoft.com...
Bonjour à tous
Voilà un petit problème que je soumet aux demi-Dieux de la
programmation VBA pour Excel ; demi-Dieux car, à l'instar d'Achille
ou d'Héraclès, ils ne sont que mortels.
Le programme sur lequel je travail est une petite application
professionnelle
que je développe pour PSA. Je ne suis absolument pas programmeur de
profession et ce n'est donc pas ma fonction au sein de l'entreprise, mais
le
besoin existe et il semble que je sois le seul dans le service à pouvoir y
répondre. Il s'agit d'un « bénévolat professionnel » en quelque sorte.
Bref, ce programme va tourner sur deux environnements différents :
-sur PC classiques
-sur « Citrix », émulation PC sur station et environnement Unix
Sur la première feuille du classeur (activée à l'ouverture de ce dernier),
on trouve les boutons de commande et un superbe « cache misère » constitué
d'une image représentant.des automobiles (je voulais mettre des chatons
dans
un panier, mais ma hiérarchie a refusée).
Le problème est que lorsque l'on ouvre Excel sur PC la taille de la
fenêtre
n'est pas la même que lorsqu'on l'ouvre sur Citrix. Ceci est probablement
du
aux résolutions d'écran que je ne peux pas modifier. Pour exemple
-Ouverture sur PC : ligne 35, colonne L
-Ouverture sur Citrix : ligne 46, colonne N
Si l'image est correctement dimensionnée pour PC, elle ne cache plus la
misère sur Citrix, à l'inverse si elle est correctement dimensionnée pour
Citrix on ne voit plus apparaître le logo « PSA » sur PC, ce qui est
proprement scandaleux ( on est au bord du crime de lèse Majesté).
Y a t'il un moyen de redimensionner ( par VB ) automatiquement l'image ?
Ou,
à défaut de reconnaître la taille d'ouverture de la fenêtre ? Ou tout
autre «
truc » qui me permettrais de savoir si Excel s'ouvre sur PC ou Citrix ? Je
pourrai appliquer alors les méthodes ScaleHeight et ScaleWidth avec les
facteurs que j'aurai préalablement définit par enregistrement de macro.
D'avance merci
Slts
'résolution de l'écran du poste de travail 'Tom Ogilvy, mpep cité par Frédéric Sigonneau sur son site Web
'***************************************************************** ' DECLARATIONS SECTION '***************************************************************** Option Explicit Type RECT x1 As Long y1 As Long x2 As Long y2 As Long End Type
' NOTE: The following declare statements are case sensitive. Declare Function GetDesktopWindow Lib "User32" () As Long Declare Function GetWindowRect Lib "User32" _ (ByVal hWnd As Long, rectangle As RECT) As Long
'***************************************************************** ' FUNCTION: GetScreenResolution() ' ' PURPOSE: ' To determine the current screen size or resolution. ' ' RETURN: ' The current screen resolution. Typically one of the following: ' 640 x 480 ' 800 x 600 ' 1024 x 768 ' '***************************************************************** Function GetScreenResolution() As String Dim R As RECT Dim hWnd As Long Dim RetVal As Long
End Function '****************************************************************************** Sub tamacro() Dim ecran ecran = GetScreenResolution MsgBox "La resolution d'écran est :" & ecran End Sub
et dans thisworkbook
Private Sub Workbook_Open() If GetScreenResolution = "640x480" Then tamacro If GetScreenResolution = "800x600" Then tamacro If GetScreenResolution = "1024x768" Then tamacro If GetScreenResolution = "1280x1024" Then tamacro
End Sub
"El pequeno" a écrit dans le message de news:
Bonjour à tous Voilà un petit problème que je soumet aux demi-Dieux de la programmation VBA pour Excel ; demi-Dieux car, à l'instar d'Achille ou d'Héraclès, ils ne sont que mortels.
Le programme sur lequel je travail est une petite application professionnelle que je développe pour PSA. Je ne suis absolument pas programmeur de profession et ce n'est donc pas ma fonction au sein de l'entreprise, mais le besoin existe et il semble que je sois le seul dans le service à pouvoir y répondre. Il s'agit d'un « bénévolat professionnel » en quelque sorte.
Bref, ce programme va tourner sur deux environnements différents : -sur PC classiques -sur « Citrix », émulation PC sur station et environnement Unix Sur la première feuille du classeur (activée à l'ouverture de ce dernier), on trouve les boutons de commande et un superbe « cache misère » constitué d'une image représentant.des automobiles (je voulais mettre des chatons dans un panier, mais ma hiérarchie a refusée). Le problème est que lorsque l'on ouvre Excel sur PC la taille de la fenêtre n'est pas la même que lorsqu'on l'ouvre sur Citrix. Ceci est probablement du aux résolutions d'écran que je ne peux pas modifier. Pour exemple -Ouverture sur PC : ligne 35, colonne L -Ouverture sur Citrix : ligne 46, colonne N Si l'image est correctement dimensionnée pour PC, elle ne cache plus la misère sur Citrix, à l'inverse si elle est correctement dimensionnée pour Citrix on ne voit plus apparaître le logo « PSA » sur PC, ce qui est proprement scandaleux ( on est au bord du crime de lèse Majesté).
Y a t'il un moyen de redimensionner ( par VB ) automatiquement l'image ? Ou, à défaut de reconnaître la taille d'ouverture de la fenêtre ? Ou tout autre « truc » qui me permettrais de savoir si Excel s'ouvre sur PC ou Citrix ? Je pourrai appliquer alors les méthodes ScaleHeight et ScaleWidth avec les facteurs que j'aurai préalablement définit par enregistrement de macro. D'avance merci Slts
Michel Pierron
Bonjour El pequeno; Pourquoi ne pas définir directement les dimensions de ton image à l'ouverture avec
Application.WindowState = xlMaximized ActiveWindow.WindowState = xlMaximized With ActiveSheet.Shapes("Picture 1") .LockAspectRatio = msoFalse .Left = 0 .Top = 0 .Width = ActiveWindow.UsableWidth .Height = ActiveWindow.UsableHeight End With
MP
"El pequeno" a écrit dans le message de news:
Bonjour à tous Voilà un petit problème que je soumet aux demi-Dieux de la programmation VBA pour Excel ; demi-Dieux car, à l'instar d'Achille ou d'Héraclès, ils ne sont que mortels.
Le programme sur lequel je travail est une petite application professionnelle
que je développe pour PSA. Je ne suis absolument pas programmeur de profession et ce n'est donc pas ma fonction au sein de l'entreprise, mais le
besoin existe et il semble que je sois le seul dans le service à pouvoir y répondre. Il s'agit d'un « bénévolat professionnel » en quelque sorte.
Bref, ce programme va tourner sur deux environnements différents : -sur PC classiques -sur « Citrix », émulation PC sur station et environnement Unix Sur la première feuille du classeur (activée à l'ouverture de ce dernier), on trouve les boutons de commande et un superbe « cache misère » constitué d'une image représentant.des automobiles (je voulais mettre des chatons dans
un panier, mais ma hiérarchie a refusée). Le problème est que lorsque l'on ouvre Excel sur PC la taille de la fenêtre
n'est pas la même que lorsqu'on l'ouvre sur Citrix. Ceci est probablement du
aux résolutions d'écran que je ne peux pas modifier. Pour exemple -Ouverture sur PC : ligne 35, colonne L -Ouverture sur Citrix : ligne 46, colonne N Si l'image est correctement dimensionnée pour PC, elle ne cache plus la misère sur Citrix, à l'inverse si elle est correctement dimensionnée pour Citrix on ne voit plus apparaître le logo « PSA » sur PC, ce qui est proprement scandaleux ( on est au bord du crime de lèse Majesté).
Y a t'il un moyen de redimensionner ( par VB ) automatiquement l'image ? Ou,
à défaut de reconnaître la taille d'ouverture de la fenêtre ? Ou tout autre «
truc » qui me permettrais de savoir si Excel s'ouvre sur PC ou Citrix ? Je pourrai appliquer alors les méthodes ScaleHeight et ScaleWidth avec les facteurs que j'aurai préalablement définit par enregistrement de macro. D'avance merci Slts
Bonjour El pequeno;
Pourquoi ne pas définir directement les dimensions de ton image à
l'ouverture avec
Application.WindowState = xlMaximized
ActiveWindow.WindowState = xlMaximized
With ActiveSheet.Shapes("Picture 1")
.LockAspectRatio = msoFalse
.Left = 0
.Top = 0
.Width = ActiveWindow.UsableWidth
.Height = ActiveWindow.UsableHeight
End With
MP
"El pequeno" <Elpequeno@discussions.microsoft.com> a écrit dans le message
de news: 0296EBD8-A49F-45E4-A4FD-5895D3256E74@microsoft.com...
Bonjour à tous
Voilà un petit problème que je soumet aux demi-Dieux de la
programmation VBA pour Excel ; demi-Dieux car, à l'instar d'Achille
ou d'Héraclès, ils ne sont que mortels.
Le programme sur lequel je travail est une petite application
professionnelle
que je développe pour PSA. Je ne suis absolument pas programmeur de
profession et ce n'est donc pas ma fonction au sein de l'entreprise, mais
le
besoin existe et il semble que je sois le seul dans le service à pouvoir y
répondre. Il s'agit d'un « bénévolat professionnel » en quelque sorte.
Bref, ce programme va tourner sur deux environnements différents :
-sur PC classiques
-sur « Citrix », émulation PC sur station et environnement Unix
Sur la première feuille du classeur (activée à l'ouverture de ce dernier),
on trouve les boutons de commande et un superbe « cache misère » constitué
d'une image représentant.des automobiles (je voulais mettre des chatons
dans
un panier, mais ma hiérarchie a refusée).
Le problème est que lorsque l'on ouvre Excel sur PC la taille de la
fenêtre
n'est pas la même que lorsqu'on l'ouvre sur Citrix. Ceci est probablement
du
aux résolutions d'écran que je ne peux pas modifier. Pour exemple
-Ouverture sur PC : ligne 35, colonne L
-Ouverture sur Citrix : ligne 46, colonne N
Si l'image est correctement dimensionnée pour PC, elle ne cache plus la
misère sur Citrix, à l'inverse si elle est correctement dimensionnée pour
Citrix on ne voit plus apparaître le logo « PSA » sur PC, ce qui est
proprement scandaleux ( on est au bord du crime de lèse Majesté).
Y a t'il un moyen de redimensionner ( par VB ) automatiquement l'image ?
Ou,
à défaut de reconnaître la taille d'ouverture de la fenêtre ? Ou tout
autre «
truc » qui me permettrais de savoir si Excel s'ouvre sur PC ou Citrix ? Je
pourrai appliquer alors les méthodes ScaleHeight et ScaleWidth avec les
facteurs que j'aurai préalablement définit par enregistrement de macro.
D'avance merci
Slts
Bonjour El pequeno; Pourquoi ne pas définir directement les dimensions de ton image à l'ouverture avec
Application.WindowState = xlMaximized ActiveWindow.WindowState = xlMaximized With ActiveSheet.Shapes("Picture 1") .LockAspectRatio = msoFalse .Left = 0 .Top = 0 .Width = ActiveWindow.UsableWidth .Height = ActiveWindow.UsableHeight End With
MP
"El pequeno" a écrit dans le message de news:
Bonjour à tous Voilà un petit problème que je soumet aux demi-Dieux de la programmation VBA pour Excel ; demi-Dieux car, à l'instar d'Achille ou d'Héraclès, ils ne sont que mortels.
Le programme sur lequel je travail est une petite application professionnelle
que je développe pour PSA. Je ne suis absolument pas programmeur de profession et ce n'est donc pas ma fonction au sein de l'entreprise, mais le
besoin existe et il semble que je sois le seul dans le service à pouvoir y répondre. Il s'agit d'un « bénévolat professionnel » en quelque sorte.
Bref, ce programme va tourner sur deux environnements différents : -sur PC classiques -sur « Citrix », émulation PC sur station et environnement Unix Sur la première feuille du classeur (activée à l'ouverture de ce dernier), on trouve les boutons de commande et un superbe « cache misère » constitué d'une image représentant.des automobiles (je voulais mettre des chatons dans
un panier, mais ma hiérarchie a refusée). Le problème est que lorsque l'on ouvre Excel sur PC la taille de la fenêtre
n'est pas la même que lorsqu'on l'ouvre sur Citrix. Ceci est probablement du
aux résolutions d'écran que je ne peux pas modifier. Pour exemple -Ouverture sur PC : ligne 35, colonne L -Ouverture sur Citrix : ligne 46, colonne N Si l'image est correctement dimensionnée pour PC, elle ne cache plus la misère sur Citrix, à l'inverse si elle est correctement dimensionnée pour Citrix on ne voit plus apparaître le logo « PSA » sur PC, ce qui est proprement scandaleux ( on est au bord du crime de lèse Majesté).
Y a t'il un moyen de redimensionner ( par VB ) automatiquement l'image ? Ou,
à défaut de reconnaître la taille d'ouverture de la fenêtre ? Ou tout autre «
truc » qui me permettrais de savoir si Excel s'ouvre sur PC ou Citrix ? Je pourrai appliquer alors les méthodes ScaleHeight et ScaleWidth avec les facteurs que j'aurai préalablement définit par enregistrement de macro. D'avance merci Slts
El pequeno
Bonjour Michel ( Bonsoir en l'occurence ) Parce qu'étant moins pro que vous je ne savais pas le faire ! Cette procédure semble répondre parfaitement à mon probléme. A écrire sous l'évenement Workbook_Open i suppose ? Petit bémol : dans mon cas il s'agit d'un objet ShapeRange mais je présume que ça fonctionne aussi. Encore une vie sauvée. Quand je pense qu'il y en a qui risque leur peau avec médecin sans frontière pour le mème résultat... Un GRAND merci à tous Slts
Bonjour El pequeno; Pourquoi ne pas définir directement les dimensions de ton image à l'ouverture avec
Application.WindowState = xlMaximized ActiveWindow.WindowState = xlMaximized With ActiveSheet.Shapes("Picture 1") ..LockAspectRatio = msoFalse ..Left = 0 ..Top = 0 ..Width = ActiveWindow.UsableWidth ..Height = ActiveWindow.UsableHeight End With
MP
"El pequeno" a écrit dans le message de news:
Bonjour à tous Voilà un petit problème que je soumet aux demi-Dieux de la programmation VBA pour Excel ; demi-Dieux car, à l'instar d'Achille ou d'Héraclès, ils ne sont que mortels.
Le programme sur lequel je travail est une petite application professionnelle
que je développe pour PSA. Je ne suis absolument pas programmeur de profession et ce n'est donc pas ma fonction au sein de l'entreprise, mais le
besoin existe et il semble que je sois le seul dans le service à pouvoir y répondre. Il s'agit d'un « bénévolat professionnel » en quelque sorte.
Bref, ce programme va tourner sur deux environnements différents : -sur PC classiques -sur « Citrix », émulation PC sur station et environnement Unix Sur la première feuille du classeur (activée à l'ouverture de ce dernier), on trouve les boutons de commande et un superbe « cache misère » constitué d'une image représentant.des automobiles (je voulais mettre des chatons dans
un panier, mais ma hiérarchie a refusée). Le problème est que lorsque l'on ouvre Excel sur PC la taille de la fenêtre
n'est pas la même que lorsqu'on l'ouvre sur Citrix. Ceci est probablement du
aux résolutions d'écran que je ne peux pas modifier. Pour exemple -Ouverture sur PC : ligne 35, colonne L -Ouverture sur Citrix : ligne 46, colonne N Si l'image est correctement dimensionnée pour PC, elle ne cache plus la misère sur Citrix, à l'inverse si elle est correctement dimensionnée pour Citrix on ne voit plus apparaître le logo « PSA » sur PC, ce qui est proprement scandaleux ( on est au bord du crime de lèse Majesté).
Y a t'il un moyen de redimensionner ( par VB ) automatiquement l'image ? Ou,
à défaut de reconnaître la taille d'ouverture de la fenêtre ? Ou tout autre «
truc » qui me permettrais de savoir si Excel s'ouvre sur PC ou Citrix ? Je pourrai appliquer alors les méthodes ScaleHeight et ScaleWidth avec les facteurs que j'aurai préalablement définit par enregistrement de macro. D'avance merci Slts
Bonjour Michel ( Bonsoir en l'occurence )
Parce qu'étant moins pro que vous je ne savais pas le faire !
Cette procédure semble répondre parfaitement à mon probléme.
A écrire sous l'évenement Workbook_Open i suppose ?
Petit bémol : dans mon cas il s'agit d'un objet ShapeRange
mais je présume que ça fonctionne aussi.
Encore une vie sauvée. Quand je pense qu'il y en a qui risque leur peau avec
médecin sans frontière pour le mème résultat...
Un GRAND merci à tous
Slts
Bonjour El pequeno;
Pourquoi ne pas définir directement les dimensions de ton image à
l'ouverture avec
Application.WindowState = xlMaximized
ActiveWindow.WindowState = xlMaximized
With ActiveSheet.Shapes("Picture 1")
..LockAspectRatio = msoFalse
..Left = 0
..Top = 0
..Width = ActiveWindow.UsableWidth
..Height = ActiveWindow.UsableHeight
End With
MP
"El pequeno" <Elpequeno@discussions.microsoft.com> a écrit dans le message
de news: 0296EBD8-A49F-45E4-A4FD-5895D3256E74@microsoft.com...
Bonjour à tous
Voilà un petit problème que je soumet aux demi-Dieux de la
programmation VBA pour Excel ; demi-Dieux car, à l'instar d'Achille
ou d'Héraclès, ils ne sont que mortels.
Le programme sur lequel je travail est une petite application
professionnelle
que je développe pour PSA. Je ne suis absolument pas programmeur de
profession et ce n'est donc pas ma fonction au sein de l'entreprise, mais
le
besoin existe et il semble que je sois le seul dans le service à pouvoir y
répondre. Il s'agit d'un « bénévolat professionnel » en quelque sorte.
Bref, ce programme va tourner sur deux environnements différents :
-sur PC classiques
-sur « Citrix », émulation PC sur station et environnement Unix
Sur la première feuille du classeur (activée à l'ouverture de ce dernier),
on trouve les boutons de commande et un superbe « cache misère » constitué
d'une image représentant.des automobiles (je voulais mettre des chatons
dans
un panier, mais ma hiérarchie a refusée).
Le problème est que lorsque l'on ouvre Excel sur PC la taille de la
fenêtre
n'est pas la même que lorsqu'on l'ouvre sur Citrix. Ceci est probablement
du
aux résolutions d'écran que je ne peux pas modifier. Pour exemple
-Ouverture sur PC : ligne 35, colonne L
-Ouverture sur Citrix : ligne 46, colonne N
Si l'image est correctement dimensionnée pour PC, elle ne cache plus la
misère sur Citrix, à l'inverse si elle est correctement dimensionnée pour
Citrix on ne voit plus apparaître le logo « PSA » sur PC, ce qui est
proprement scandaleux ( on est au bord du crime de lèse Majesté).
Y a t'il un moyen de redimensionner ( par VB ) automatiquement l'image ?
Ou,
à défaut de reconnaître la taille d'ouverture de la fenêtre ? Ou tout
autre «
truc » qui me permettrais de savoir si Excel s'ouvre sur PC ou Citrix ? Je
pourrai appliquer alors les méthodes ScaleHeight et ScaleWidth avec les
facteurs que j'aurai préalablement définit par enregistrement de macro.
D'avance merci
Slts
Bonjour Michel ( Bonsoir en l'occurence ) Parce qu'étant moins pro que vous je ne savais pas le faire ! Cette procédure semble répondre parfaitement à mon probléme. A écrire sous l'évenement Workbook_Open i suppose ? Petit bémol : dans mon cas il s'agit d'un objet ShapeRange mais je présume que ça fonctionne aussi. Encore une vie sauvée. Quand je pense qu'il y en a qui risque leur peau avec médecin sans frontière pour le mème résultat... Un GRAND merci à tous Slts
Bonjour El pequeno; Pourquoi ne pas définir directement les dimensions de ton image à l'ouverture avec
Application.WindowState = xlMaximized ActiveWindow.WindowState = xlMaximized With ActiveSheet.Shapes("Picture 1") ..LockAspectRatio = msoFalse ..Left = 0 ..Top = 0 ..Width = ActiveWindow.UsableWidth ..Height = ActiveWindow.UsableHeight End With
MP
"El pequeno" a écrit dans le message de news:
Bonjour à tous Voilà un petit problème que je soumet aux demi-Dieux de la programmation VBA pour Excel ; demi-Dieux car, à l'instar d'Achille ou d'Héraclès, ils ne sont que mortels.
Le programme sur lequel je travail est une petite application professionnelle
que je développe pour PSA. Je ne suis absolument pas programmeur de profession et ce n'est donc pas ma fonction au sein de l'entreprise, mais le
besoin existe et il semble que je sois le seul dans le service à pouvoir y répondre. Il s'agit d'un « bénévolat professionnel » en quelque sorte.
Bref, ce programme va tourner sur deux environnements différents : -sur PC classiques -sur « Citrix », émulation PC sur station et environnement Unix Sur la première feuille du classeur (activée à l'ouverture de ce dernier), on trouve les boutons de commande et un superbe « cache misère » constitué d'une image représentant.des automobiles (je voulais mettre des chatons dans
un panier, mais ma hiérarchie a refusée). Le problème est que lorsque l'on ouvre Excel sur PC la taille de la fenêtre
n'est pas la même que lorsqu'on l'ouvre sur Citrix. Ceci est probablement du
aux résolutions d'écran que je ne peux pas modifier. Pour exemple -Ouverture sur PC : ligne 35, colonne L -Ouverture sur Citrix : ligne 46, colonne N Si l'image est correctement dimensionnée pour PC, elle ne cache plus la misère sur Citrix, à l'inverse si elle est correctement dimensionnée pour Citrix on ne voit plus apparaître le logo « PSA » sur PC, ce qui est proprement scandaleux ( on est au bord du crime de lèse Majesté).
Y a t'il un moyen de redimensionner ( par VB ) automatiquement l'image ? Ou,
à défaut de reconnaître la taille d'ouverture de la fenêtre ? Ou tout autre «
truc » qui me permettrais de savoir si Excel s'ouvre sur PC ou Citrix ? Je pourrai appliquer alors les méthodes ScaleHeight et ScaleWidth avec les facteurs que j'aurai préalablement définit par enregistrement de macro. D'avance merci Slts