Maxoverfred
XLDnaute Occasionnel
Bonjour, alors l'épisode étrange...
j'ai cette fonction
Private Function GetXLCol(Col As Integer) As String
' Col is the present column, not the number of cols
Const A = 65 'ASCII value for capital A
Dim iMults As Integer
Dim sCol As String
Dim iRemain As Integer
' THIS ALGORITHM ONLY WORKS UP TO ZZ. It fails on AAA
If Col > 701 Then
GetXLCol = ''
Exit Function
End If
If Col <= 26 Then
sCol = Chr(A + (Col - 1))
Else
iRemain = Int((Col / 26)) - 1
sCol = Chr(A + iRemain) & (GetXLCol(Col Mod 26))
End If
GetXLCol = sCol
End Function
Si je demande GetXLCol(52) il me renvoie B@ alors qu'il devrait renvoyer AZ... et pour les autres colonnes il marche correctement, mais dès qu'il y a un Z il bouge d'une colonne et d'un caractère en plus...
Comme la fonction n'est pas de moi.. si vous avez quelque chose de plus intéressant.. (je combine cette fonction avec un Find... l'exemple concret est que je cherche la présence d'un champ dans une sheet.. et je dois trouver la lettre de la colonne de cette celulle.. j'ai déjà essayé avec cell(1,range(XX).column) qui ne donne rien de bon..
J'ai l'impression que c'est la valeur de A du départ qui est mauvaise... et qui fausse tout.. mais comment il retrouve les autres alors ?? car par exemple GetXLCol(52) renvoi bien BT
Merci pour votre aide
Message édité par: maxoverfred, à: 19/07/2005 20:45
Message édité par: maxoverfred, à: 19/07/2005 20:50
j'ai cette fonction
Private Function GetXLCol(Col As Integer) As String
' Col is the present column, not the number of cols
Const A = 65 'ASCII value for capital A
Dim iMults As Integer
Dim sCol As String
Dim iRemain As Integer
' THIS ALGORITHM ONLY WORKS UP TO ZZ. It fails on AAA
If Col > 701 Then
GetXLCol = ''
Exit Function
End If
If Col <= 26 Then
sCol = Chr(A + (Col - 1))
Else
iRemain = Int((Col / 26)) - 1
sCol = Chr(A + iRemain) & (GetXLCol(Col Mod 26))
End If
GetXLCol = sCol
End Function
Si je demande GetXLCol(52) il me renvoie B@ alors qu'il devrait renvoyer AZ... et pour les autres colonnes il marche correctement, mais dès qu'il y a un Z il bouge d'une colonne et d'un caractère en plus...
Comme la fonction n'est pas de moi.. si vous avez quelque chose de plus intéressant.. (je combine cette fonction avec un Find... l'exemple concret est que je cherche la présence d'un champ dans une sheet.. et je dois trouver la lettre de la colonne de cette celulle.. j'ai déjà essayé avec cell(1,range(XX).column) qui ne donne rien de bon..
J'ai l'impression que c'est la valeur de A du départ qui est mauvaise... et qui fausse tout.. mais comment il retrouve les autres alors ?? car par exemple GetXLCol(52) renvoi bien BT
Merci pour votre aide
Message édité par: maxoverfred, à: 19/07/2005 20:45
Message édité par: maxoverfred, à: 19/07/2005 20:50