Pour ce qui est du code, c’est pas moi qui l’ai fait à la base.
Je dois faire en sorte qu’il fonctionne correctement pour que les personnes de mon entreprise l’utilise …
Là je te donne un exemple pour le graphique
If UserForm1.CheckBox20.Value = True Then
Titre = UserForm3.TextBox1.Value
Offset1 = 1
For Num = 1 To 6
Select Case Num
Case 1
Nombre_cos = 0
Incr1 = 0
Incr2 = 0
If UserForm1.CheckBox1.Value = True Then
Call MulRange(Num, 1)
Call Graph("Canaux 1 à 3", "Courant [A]", 0)
End If
Il utilisait la résolution de l’écran pour afficher correctement les graphiques un après l’autre, mais ça fonctionnait seulement pour une seule résolution d’écran et une seule imprimante
…
ActiveSheet.Shapes(GraphName).IncrementLeft (-170 + Incr2 * 660)
ActiveSheet.Shapes(GraphName).IncrementTop (-105 + Incr1 * 461) ‘’’'moins le chiffre de base, moins 47.25, puis le chiffre de base plus 2.25
Incr1 = Incr1 + 1
…
Ce que je voudrais faire, mais je ne sais pas faire, c’est reprendre les informations de l’imprimante pour que mes graphiques soient mis correctement ?
J’ai trouvé sur internet un exemple pour reprendre la résolution d’écran afin de l’exploiter :
Option Explicit
Public Declare Function GetDC Lib "user32" _
(ByVal hwnd As Long) As Long
Private Declare Function GetDeviceCaps Lib "gdi32" _
(ByVal hdc As Long, _
ByVal nIndex As Long) As Long
Private Const HORZRES As Long = 8
Private Const VERTRES As Long = 10
Private Const BITSPIXEL As Long = 12
Private Const VREFRESH As Long = 116
Private Sub resEC()
Dim hdc As Long
Dim currHRes As Long
Dim currVRes As Long
Dim currBPP As Long
Dim currVFreq As Long
Dim sBPPtype As String
Dim sFreqtype As String
hdc = GetDC(0)
'get the system settings
currHRes = GetDeviceCaps(hdc, HORZRES)
currVRes = GetDeviceCaps(hdc, VERTRES)
currBPP = GetDeviceCaps(hdc, BITSPIXEL)
currVFreq = GetDeviceCaps(hdc, VREFRESH)
Merci si tu arrives à répondre à ma question :??: :??: :??: