bonjour
je cherche un code pour faire correspondance entre le numero d'une colonne et la lettre d'une colonne
exemple le numero de la colonne est 4 j'aimerais que ca me donne la lettre D
merci d'avance
bonjour
je cherche un code pour faire correspondance entre le numero d'une colonne et la lettre d'une colonne
exemple le numero de la colonne est 4 j'aimerais que ca me donne la lettre D
merci d'avance
Bonjour,
Code : Sélectionner tout - Visualiser dans une fenêtre à part Debug.Print Split(Columns(4).Address, "$")(2)
Cordialement
Ryu
La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein
Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple
Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie
Bonjour,
Chr(65) = A
Chr(66) = B
Chr(67) = C
etc...
je te laisse découvrir cette fonction et tenter de solutionner ton problème ?
Bonjour
Aucun réel intérêt, mais si tu y tiens tant, regarde (entre autres et bâclé) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part MsgBox Replace(Split(Columns(4).Address, ":")(1), "$", "")
Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .
****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...
Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.
Avec ce mitraillage de réponses tu as le choix et même étudier chaque cas afin d'apprendre …
Cordialement
Ryu
La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein
Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple
Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie
on va continuer à "mitrailler" et rigoler :
Toujours en bâclant et en blaguant (juste pour rire un peu)
Code : Sélectionner tout - Visualiser dans une fenêtre à part MsgBox Replace(Mid(Cells(1, 4).Address(RowAbsolute:=False), 2), "1", "")
Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .
****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...
Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.
Salut, parmi une myriade
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
25 Function NumCol2Lettre(iNumCol As Long) As String Dim i As Long, sStr As String i = iNumCol sStr = "" Do While i > 0 sStr = Chr$(((i - 1) Mod 26) + 65) & sStr i = (i - 1) \ 26 Loop NumCol2Lettre = sStr End Function Function Lettre2NumCol(sChaine As String) As Long Dim i As Long, ValeurCh As Long, v As Long Const sChaineAlpha As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" For i = 1 To Len(sChaine) ValeurCh = InStr(1, sChaineAlpha, Mid$(UCase$(sChaine), i, 1)) v = v * 26 + ValeurCh Next i Lettre2NumCol = v End Function Sub Tst() Debug.Print NumCol2Lettre(1234567890) Debug.Print Lettre2NumCol("CYWOQVJ") End Sub
aller une autre variante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Mid(Columns(4).Address,InStrRev(Columns(4).Address, "$") +1)
Cordialement
Ryu
La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein
Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple
Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie
merci a tous .
c'est la fonction de kiki29 qui correspond le plus a ma demande.
une correspondance absolu sans passer par column
Juste pour le fun
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Function Lettre(Num As Long) As String Dim L$ L = Split(Columns(Num).Address, "$")(2) Lettre = L End FunctionEdit : Dans le sens inverse :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Sub Test() Debug.Print Lettre(4) End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Function Chiffre(L As String) As Long Dim C As Long C = Columns("A:" & L).Count Chiffre = C End Function
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Sub Tes2t() Debug.Print Chiffre("AZ") End Sub
Cordialement
Ryu
La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein
Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple
Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager