Voici la fonction Adresse() qui renvoie une colonne sous forme de lettre avec comme paramètre un numéro de colonne (5 renverra E, 27 renverra AA, etc...) :
Private Function Adresse(Colonne As Integer) As String
'************************************************
' renvoie la référence de colonne au format $AA *
'************************************************
If Colonne < 257 Then
If Colonne > 26 Then
' le IIf() traite le cas particulier des Z
Adresse = "$" & Chr(64 + (Colonne \ 26) + IIf(Colonne Mod 26 = 0, -1, 0))
Else
Adresse = "$"
End If
' le IIf() traite le cas particulier des Z
Adresse = Adresse & Chr(64 + IIf(Colonne Mod 26 = 0, 26, 0) + (Colonne Mod 26))
Else
Adresse = "Erreur : numéro de colonne > 256"
End If
End Function
Sub ZoneImp()
Dim intColMin As Integer, intColMax As Integer
Dim intLinMin As Integer, intLinMax As Integer
intColMin = 1
intColMax = 12
intLinMin = 2
intLin = 25
ActiveSheet.PageSetup.PrintArea = Adresse(inColMin) & intLinMin & ":" & Adresse(intColMax) & intLinMax
' les $ ne sont pas indispensables
End Sub
j'ai tapé ce code directement ici, sans le tester, mais ça devrait être bon.
A+,
Kobaya.