XL 2021 Incrémentation bête et méchante...

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 !

Constantin

XLDnaute Occasionnel
Supporter XLD
Bonjour à tous,
Dans ce mini-fichier, j'essaye d'incrémenter la cellule D1 (= A) pour qu'en "tirant" dessus je puisse établir une liste qui aille de A à plus que Z (AF par exemple)
Cela fonctionne avec les nombres mais avec l'alphabet, ça ne veut pas.
J'ai cherché, mais je n'ai pas trouvé de réponse(s). Faut-il passer par une macro ? Y a t-il une solution Excel de base ?
Si l'un de vous a une idée, j'en serai ravi !
Bon week-end !
 

Pièces jointes

Re,
Une autre approche, si le problème est de trouver le N° de colonne en VBA, il suffit de faire :
VB:
NumCol = Range("AA1").Column
NumCol renvoie le N° de colonne correspondant à AA1.
Le max sera pour Range("XFD1").Column qui donnera 16384.
 
Bonsoir,
VB:
Function Icrementalpha(Optional Init As String, Optional ByVal Col As Integer = 0) As String
    Dim T As String: T = " " & Init
    Select Case Mid(T, Len(T) - Col, 1)
        Case " ": Mid(T, Len(T) - Col, 1) = "A"
        Case "Z"
            Mid(T, Len(T) - Col, 1) = "A"
            T = Icrementalpha(Trim(T), Col + 1)
        Case Else: Mid(T, Len(T) - Col, 1) = Chr(Asc(Mid(T, Len(T) - Col, 1)) + 1)
    End Select
    Icrementalpha = Trim(T)
End Function
Sub test()
Debug.Print Icrementalpha("AZ")
End Sub
 

Pièces jointes

Dernière édition:
Hi,
Juste pour confirmer que ma solution était la bonne...
Et que mettre toute autre réponse comme "solution" revenait à un "hold-up"
à moins que @Constantin ne prouve le contraire, devant un jury indépendant
mais comme il ne sait déjà pas trop ce qu'il veut, le délibéré me semble délicat...
Bonne nuit à tous, et bon vote municipal à tous, pour demain
 
Bonsoir,
VB:
Function Icrementalpha(Optional Init As String, Optional ByVal Col As Integer = 0) As String
    Dim T As String: T = " " & Init
    Select Case Mid(T, Len(T) - Col, 1)
        Case " ": Mid(T, Len(T) - Col, 1) = "A"
        Case "Z"
            Mid(T, Len(T) - Col, 1) = "A"
            T = Icrementalpha(Trim(T), Col + 1)
        Case Else: Mid(T, Len(T) - Col, 1) = Chr(Asc(Mid(T, Len(T) - Col, 1)) + 1)
    End Select
    Icrementalpha = Trim(T)
End Function
Sub test()
Debug.Print Icrementalpha("AZ")
End Sub
Merci pour ce code qui fonctionne très bien.
Bon dimanche !
 
Hi,
Juste pour confirmer que ma solution était la bonne...
Et que mettre toute autre réponse comme "solution" revenait à un "hold-up"
à moins que @Constantin ne prouve le contraire, devant un jury indépendant
mais comme il ne sait déjà pas trop ce qu'il veut, le délibéré me semble délicat...
Bonne nuit à tous, et bon vote municipal à tous, pour demain
Mille excuses Cousinhub,
Ta solution marche très bien. J'ai eu beaucoup de réponses qui ont donné ce que j'attendais, le mérite de la tienne c'est qu'elle est très simple.
Merci encore et pardonne moi si je t'ai vexé, ce n'était volontaire.
Bonne journée
 
- 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

Discussions similaires

C
Réponses
11
Affichages
2 K
Chaine
C
C
Réponses
5
Affichages
1 K
M
Réponses
4
Affichages
2 K
manuuue
M
M
Réponses
4
Affichages
2 K
M
Retour