Lettre d'une Colonne par son numéro

C

CélineG

Guest
Bonjour !

Je voudrais savoir s'il existe une fonction qui me donne la lettre d'une colonne qui correspond au numéro de cette colonne?

par exemple:

- si je donne 1, ça me renverrait 'A'
- si je donne 2, ça me renverrait 'B'
...
- si je donne 45, ça me renverrait 'AS'

Je vous remercie de votre aide.

Céline
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Céline, Jean-Marie, bonjour le forum,

Céline, c'est tiré par les cheveux mais ça marche (VBA) :
Sub Macro1()
Dim a As String, res As String
Dim b As Integer
a = InputBox('Tapez le numéro de la colonne', 'Convertisseur')
If a = '' Then Exit Sub
b = CInt(a)
If b / 26 < 1 Then res = Chr(b + 64)
If b / 26 > 1 Then
res = Chr(b \\ 26 + 64)
res = res & Chr(b Mod 26 + 64)
End If
MsgBox res
End Sub

Édition :

Je vais encore me faire engeuler par josé mais l'antislash n'apparaît pas tu dois le placer dans cette ligne :
res = Chr(b antislash 26 + 64)


Message édité par: Robert, à: 06/09/2005 15:46
 

CelineG

XLDnaute Nouveau
Bonjour Robert,

Je te remercie, c'est peut-être tiré par les cheveux mais ça marche et c'est plus court que ce que j'aurai fait!!

Par contre tu aurais pas oublié un signe ou quelque chose sur cette ligne : 'res = Chr(b 26 + 64)' car ça me l'affiche en rouge.

Merci beaucoup,

=> OK merci j'avais pas vu que tu t'étais corrigé!

Merci vraiment.

Message édité par: CelineG, à: 06/09/2005 15:49
 

CelineG

XLDnaute Nouveau
Ta Macro est géniale Robert mais

- elle ne marche pas pour la lettre Z par exemple pour 26 elle renvoi RIEN!

- et elle passe de AL à BM c'est embêtant !!!

- BZ est rendu B@ !! puis ça repart à BA

- Puis rebug après BM ou ça passe à CN

- jusqu'à CZ qui devient C@

- puis repart à CA

- puis après CL c'est DM ...

En faite je t'explique pourquoi ça m'embete :

J'ai un tableau de marge général qui est rempli en entier, puis j'ai le meme tableau de marge mais parrégion dans lequel je veux récupérer les informations dans le premier tableau de marge général.

j'ai donc ce code:
Code:
For col = 1 To 114 'de A à DJ
        'MsgBox ('=MARGES!' & Lettre_Col(col) & li)
        'ligne : numéro de la ligne ou on vzeut mettre la formule
        'li : ligne ou on récupère les info dans le premier tableau
        Sheets('MARGES ' & Region).Cells(ligne, col).Value = '=MARGES!' & Lettre_Col(col) & li
    Next

Je te remercie de ton aide,
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Bonjour

La macro de robert légèrement modifiée

Code:
Sub Macro1()
Dim a As String, res As String
Dim b As Integer
a = InputBox('Tapez le numéro de la colonne', 'Convertisseur')
If a = '' Then Exit Sub
b = CInt(a)
If b / 26 <= 1 Then res = Chr(b + 64)
If b / 26 > 1 Then
If b Mod 26 = 0 Then
    res = Chr(b \\ 26 + 63) & 'Z' 
Else
res = Chr(b \\ 26 + 64) 
res = res & Chr(b Mod 26 + 64)
End If
End If
MsgBox res
End Sub

Bonne journée

Message édité par: Pascal76, à: 06/09/2005 16:25
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir le fil, bonsoir le forum,

Tout d'abord un grand merci à Pascal qui vient à ma rescousse mais aussi un pardon à Céline car j'ai testé la macro sur une dizaine de valeurs et quand j'ai vu que toutes marchaient j'en ai trop vite déduit qu'elle était Ok. Erreur grave !!! Désolé Céline et encore merci Pascal.
 

_Thierry

XLDnaute Barbatruc
Repose en paix
BOnjour Celine, Pascal, Robert

Et dans la lignée des ruses de Guerriers Sioux ou Irroquois



Option Explicit

Sub ColLetter()
Dim Cell As Range
Dim C As Integer

C = InputBox('Tapez le numéro de la colonne', 'Convertisseur')

On Error GoTo MilleQuatre
Cells(1, C).Activate
Set Cell = ActiveCell
MsgBox Left(Cell.Address(False, False), (Cell.Column < 27) + 2)


Exit Sub
MilleQuatre:
   
If Err = 1004 Then
        MsgBox 'Numéro de Colonne non compatible avec Excel'
   
Else
        MsgBox 'Erreur non gérée ' & Err.Number & ' ' & Err.Description
   
End If
End Sub


Bon Après Midi
[ol]@+Thierry[/ol]


EDITION !!!

Et pour le Blindage de l'InputBox à la Ti_ ne pas oublier (comme moi):

C = Application.InputBox('Tapez le numéro de la colonne', 'Convertisseur', Type:=1)

Message édité par: _Thierry, à: 06/09/2005 16:52
 
C

CélineG

Guest
Salut Thierry!

Oui c'est pas mal aussi!

On apprend plein de choses ici!!

Et Robert c'est pas grave de ne pas avoir réussi, tu as permis à Thierry de réagir et de donner la réponse!!!

En tout cas ça m'a aidé!

Bonne soirée @+ et merci
 

Discussions similaires

Réponses
9
Affichages
205

Statistiques des forums

Discussions
312 485
Messages
2 088 812
Membres
103 971
dernier inscrit
abdazee