Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
Bonjour,
Pour bhbh
Je n'ai pas mis tout le code mais Index est incrémenté de 1 à 255 correspondant au n° de colonnes de 1 à 255.
Par contre j'ai trouvé la réponse, il s'agit de : Division de 2 nombres en un résultat entier Si Index <=26
iInt = Index \ 26 donne 0
Si Index =27iInt = Index \ 26 donne 1
Et pour ceux que ça intéresse voici le code
Code:
Function GetColumnHeaderFromIndex(ByVal Index As Integer) As String
Dim iInt%, iRest%
If Index > 256 Then
GetColumnHeaderFromIndex = vbNullString
ElseIf Index < 27 Then
GetColumnHeaderFromIndex = GetLetterFromNumber(Index)
Else
iInt = Index \ 26: iRest = Index Mod 26
If iRest = 0 Then iInt = iInt - 1: iRest = 26
GetColumnHeaderFromIndex = GetLetterFromNumber(iInt) & GetLetterFromNumber(iRest)
End If
End Function
Function GetLetterFromNumber(ByVal Number As Integer) As String
If Number < 1 Or Number > 26 Then GetLetterFromNumber = vbNullString Else GetLetterFromNumber = Chr$(Number + 64)
End Function
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD