[Excel] Convertion Chiffre => Lettre Colonne [Fermé]

Signaler
-
 Anne -
Bonjour à tous,
je ne suis pas débutant en excel (2003) et pourtant j'éprouve des difficultés à retrouver une formule qui semble pourtant simple.

J'expose mon problème en une ligne :
Je veux que trouver la fonction qui fait : mafonctionmagique(3) = C:C
ou bien mafonctionmagique(5) = E:E

En gros j'ai le numéro d'une colonne dans une case et je veux utiliser la colonne au sein d'une autre formule. Je suppose qu'il existe une formule pour faire ceci mais je ne suis probablement pas assez bien réveillé en ce lundi matin.

Merci d'avance pour votre aide.
A voir également:

2 réponses

Messages postés
23782
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
6 janvier 2021
6 548
Bonsoir tout le monde,

Pour la (les) lettre(s) par exemple :
=GAUCHE(ADRESSE(1;$B$1;4);NBCAR(ADRESSE(1;$B$1;4))-1)

Mais si c'est pour utiliser la plage dans une formule autant mettre :
DECALER(A:A;0;$B$1-1)

avec $B$1 = n° de colonne

eric
9
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Nickel merci beaucoup Eriiic !!!
Messages postés
16362
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
5 janvier 2021
3 105
bonjour

sur une étagère de mon grenier (xl<2007)

Function car_col(num As Integer) As String 
Dim serie As Byte 
Select Case num 
    Case Is = 0 
        car_col = "#########" 
    Case Is < 27 
        car_col = Chr(64 + num) 
    Case Else 
        serie = Int((num - 26) / 27) + 1 
        car_col = Chr(64 + serie) & Chr(64 + num - 26 * serie) 
End Select 

End Function

renvoie une seule occurence
a adapter pour faire lettre:lettre

Michel
Merci pour ton aide mais pour que mon application marche sans temps d'attente pour l'utilisateur, je dois éviter de passer par du code VBA.

J'ai légèrement modifié ma maquette et j'ai à présent trouvé le moyen de faire appararaitre dans une cellule, la plage de donnée que je veux utiliser dans mon EQUIV de la formule :
=Indirect(Adresse(Equiv( ...;AB:AB;)))

Voici ce que j'ai effectué pour tester :
en A1 j'écris = AB:AB
en A2 j'écris =Indirect(A1) et j'obtiens un #Ref
en A3 j'écris =Indirect("A1") et j'obtiens AB:AB (donc le résultat que je souhaite utiliser)

Auparavant, j'utilisais AB:AB dans ma formule. Maintenant, que la plage AB:AB est variable je ne peux plus l'écrire "en dur" dans la formule. J'insere donc un nouvel Indirect dans la formule en lieu et place de ma plage de données.
=Indirect(Adresse(Equiv( ...;Indirect("A1");)))
Et la , c'est le drame, je reçois un sympathique erreur NA (#N/A)

Lorsque j'effectue l'analyse étape par étape de l'erreur, je m'aperçois qu'il traduis mon INdirect("A1") en $A$19.

Comment faire pour résoudre ce nouveau problème ?

PS : si vous pensez que je devrai créer un nouveau Topic pour ce nouveau problème n'hésitez pas à me le signaler.
Messages postés
16362
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
5 janvier 2021
3 105
Alors pourquoi mettre ce message dans le forum programmation ?

C'est bien la 1° fois que je lis ça:
pour que mon application marche sans temps d'attente pour l'utilisateur, je dois éviter de passer par du code VBA.

d'autant que ton raisonnement sur tes formules est particulièrement mauvais...

Je te laisse, tu m'as fait déjà perdre du temps à essayer de t'aider
J'aurai effectivement pu poster dans la section bureautique, mais ayant besoin de faire appel à des formules j'ai préféré venir ici et préciser [Excel] dans l'énoncé (et pas VBA).
Peut être que mon raisonnement est mauvais mais dans en tout cas j'ai le mérite d'en avoir un.
Si tu n'as aps su lire [Excel] et que tu estimes avoir perdu ton temps tu ne peux t'en prendre qu'à toi d'avoir, ne serait-ce que cliquer sur le lien de ce sujet.
Merci par avance de ne pas répondre aux utilisateurs si c'est pour parler sur ce ton.
Merci beaucoup Michel pour la solution en macro, ça m'a été utile