hebus16
Messages postés80Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention 2 octobre 20091 25 févr. 2013 à 11:08
Salut on peut aussi éviter de limiter à deux colonnes ^^
Après il faut juste faire attention au nombre max de colonnes gérées par Excel :D
Public Function NumToLetter(col As Long) As String
Dim nbL As Long
' on détermine le nb de lettre présente par une division entière
nbL = col \ 26
' on va se faire une petite fonction récursive pour ne pas avoir de limite sur le nombre de lettre
If nbL > 0 Then
NumToLetter = NumToLetter(nbL) & Chr((col Mod 26) + 64)
Else
NumToLetter = Chr((col Mod 26) + 64)
End If
End Function
nobruu
Messages postés4Date d'inscriptionvendredi 17 janvier 2003StatutMembreDernière intervention 3 février 2007 3 févr. 2007 à 02:33
Salut, ça peut aussi se faire sur une seul ligne ligne:
dim x as integer 'numéro de la colonne en chiffres
dim Colonne as string 'nom de la colonne en lettres
doringen
Messages postés2Date d'inscriptionjeudi 2 novembre 2006StatutMembreDernière intervention 2 novembre 2006 2 nov. 2006 à 17:37
Excel dispose aussi d´un raccourci intéressant afin de trouver automatiquement la dernière ligne utilisée ( celle que tu appelles "ligfin"). Ici, je définis arbitrairement le début de la zone d´impression en A1 et je laisse excel trouver la dernière cellule de la colonne N tout seul.
25 févr. 2013 à 11:08
Après il faut juste faire attention au nombre max de colonnes gérées par Excel :D
Public Function NumToLetter(col As Long) As String
Dim nbL As Long
' on détermine le nb de lettre présente par une division entière
nbL = col \ 26
' on va se faire une petite fonction récursive pour ne pas avoir de limite sur le nombre de lettre
If nbL > 0 Then
NumToLetter = NumToLetter(nbL) & Chr((col Mod 26) + 64)
Else
NumToLetter = Chr((col Mod 26) + 64)
End If
End Function
3 févr. 2007 à 02:33
dim x as integer 'numéro de la colonne en chiffres
dim Colonne as string 'nom de la colonne en lettres
Colonne = Replace(Chr(Int(((x - 1) / 26) + 64)) & Chr(((x - 1) Mod 26) + 65), "@", "")
2 nov. 2006 à 17:37
Sub printarea()
Dim derCell As Integer
derCell =ActiveSheet.UsedRange.SpecialCells(xlLastCell).Row
ActiveSheet.PageSetup.printarea = ("A1:N" & derCell)
End Sub