Bonjour
J'aurai besoin de vos lumières pour améliorer une de mes fonctions que j'ai faite pour trouver la lettre d'une colonne citée. Voici la fonction :
Pour les grands connaisseurs, je suis sur que vous allez avoir peur en voyant ça mais bon, justement, je voudrais pouvoir l'écrire plus simplement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Function LettreColonne(NumCol As Long) As String 'fonction qui donne la lettre en fonction du numero de colonne Dim reste, quotient As Long quotient = Int(NumCol / 26) reste = NumCol Mod 26 If quotient = 0 And reste = 0 Then Exit Function End If If quotient = 0 Then LettreColonne = Chr(64 + reste) Else If reste = 0 Then quotient = quotient - 1 If quotient = 0 Then LettreColonne = Chr(64 + 26) Else LettreColonne = Chr(64 + quotient) & Chr(64 + 26) End If Else LettreColonne = Chr(64 + quotient) & Chr(64 + reste) End If End If End Function
Je pense qu'il faut utiliser le ".address", mais je ne sais pas torp comment l'implémenter dans ce que j'ai écrit car normalement le .address s'utilise directement sur un sélection de cellule (un Range). Sauf que là, je l'utilise sur un nombre directement.
Un exemple d'utilisation de cette fonction pour une fonction (que j'ai créé aussi ) de création d'une liste :
En vous remerciant par avance, je suis à votre disposition pour toute question/suggestion.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Public Sub MakeListes(NomFeuille As String, NomListe As String, NbreLigne As Long, nbreColonnes As Long) ActiveWorkbook.Names.Add Name:=NomListe, RefersTo:="='" & NomFeuille & "'!$A$1:$" & LettreColonne(nbreColonnes) & "$" & NbreLigne End Sub
Partager