Convertir des chiifres en lettre sur Excel ve

adtrl -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je me retrouve face à un petit problème sur un fichier excel. Je souhaite transformer une colonne de chiffres ( de 1 à 525) en alphabet du genre 1 = A, 2 =B, .... 27=AA, 28 = AB...

Y a t-il un moyen de faire cela?
Ou une solution comme pour les chiffres lorsque l'on saisi de 1 à 3 et que l'on 'tire la dernière cellule', la suite se fait toute seule 4, 5, 6, 7,..... j'aimerais faire de même pour les lettres A, B, C et lorsque je tire la liste continue avec D, E, F ......?

Quelqu'un peut m'aider svp?
Configuration: Windows XP
Firefox 3.0.15

6 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    bonjour
    de 1 à 260 uniquement (A==>2 lettres): fonction personnalisée

    Function car_col(num As Byte) 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
    0
    1. adtrl
       
      Pouvez vous m'expliquer mettre cette formule? Comment cela fonctionne t-il?
      N'y a t-il pas un moyen plus simple comme taper A puis au dessous B puis au dessous C et ensuite faire glisser la dernière cellule pour que le D, E , F ... se mettent dans les case au dessous comme pour les chiffres?
      Merci
      0
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    si c'était si simple pourquoi poser une question ?

    rappel de la question
    Je souhaite transformer une colonne de chiffres ( de 1 à 525) en alphabet du genre 1 = A, 2 =B, .... 27=AA, 28 = AB...
    quel rapport avec
    taper A puis au dessous B puis au dessous C et ensuite faire glisser la dernière cellule pour que le D, E , F

    Désolé
    0
    1. adtrl
       
      Pourquoi poser la question? Parce que je ne connais pas la réponse, et que je demande un eu d'aide aux gens qui connaissent le logiciel mieux que moi, parce que je suis face à un problème. Mais il me semble que dans tous les cas, personne n'est obligé de répondre lorsqu'il n'en a pas envie non?Alors pourquoi me rentrer dedans comme cela? Pourquoi ironiser et démonter mes propos et ce que j'essaie d'expliquer?

      Bref, pour les autres personnes lisant ce post et qui souhaitent m'aider :
      j'ai posé plusieurs questions. Mon problème est que je dois créer une colonne de lettres de la lettre A (caractère 1) jusqu'à la lettre JK (caractère 266)( il me semble) et que je trouve très fastidieux de taper chaque lettre dans une case.
      J'ai pensé créer une colonne de chiffres puis la transformer en lettre, ou de créer une colonne de lettre. Je cherche une solution pour arriver à mes fins, si jamais vous avez une technique, une idée et que vous pouvez me la faire partager en m'expliquant les manipulations à faire, merci de m'en faire part.
      0
  3. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    B onjour
    une méthode qui va (peut être) vous simplifier (un tout petit peu) la vie:
    revenat à votre premier message qui stipule de 1 à 525

    1°)En colonne A:
    inscrivez par "tirage" les chiffres de 1 à 525
    en colonne B de 1 à 26
    inscrivez, toujours par tirage, les lettres de A à Z (ça excel sait faire en principe)

    2°)Ensuite, suivez moi bien!!
    sur B27, la formule:
    =INDIRECT("B"&ENT(A26/26))&B1
    a tirez en l'état jusqu' à la ligne 52 pas plus loin

    3°)sélectionnez le champ B27:B52
    Edition / Remplacez :
    B par B$
    ceci pour bloquer la formule B dans ce tableau

    4°)ensuite avec tout le champ complet sélectionné de B27 à B52, tirez jusqu'à la ligne 525, ça devrait afficher les codes.
    (Enfin, chez moi ça le fait!)
    0
    1. adtrl
       
      Bonjour,

      Tout d'abord merci de votre aide.
      j'ai oublié de préciser que ma version de excel est 2007 (cela à peut être une incidence).
      j'ai essayé votre technique mais je n'arrive pas au résultat voulu.
      Dans la partie 1 :vous me dites ' inscrivez, toujours par tirage, les lettres de A à Z (ça excel sait faire en principe) ' --> dans quelle colonne cela doit être noté? je n'arrive pas à faire de 'tirage' pour les lettres, est ce que une configuration?, quelque chose à paramétrer?

      Merci d'avance
      0
  4. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonsoir
    effectivement, il faut créer la liste, mais ça n'est pas indispensable.
    ci joint un modéle de l'ensemble avec les explications.
    Il vous restera toutefois à chercher les chemins sur 2007 que je ne connais pas assez pour vous aider dans le domaine des manip à faire
    http://www.cijoint.fr/cjlink.php?file=cj200912/cijcccrytb.xls
    en souhaitant que ce soit ce que vous attendez.
    Crdlmnt
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonsoir tout le monde,

    avec tes nombres en colonne A tu peux écrire :
    =SUBSTITUE(CAR((A1-MOD(A1-1;26)-1)/26+64);"@";"")&CAR(MOD(A1-1;26)+65)
    à recopier vers le bas

    et si tu veux te passer de la colonne des nombres alors (en ligne 1) :
    =SUBSTITUE(CAR((LIGNE()-MOD(LIGNE()-1;26)-1)/26+64);"@";"")&CAR(MOD(LIGNE()-1;26)+65)

    en remplaçant les 3 LIGNE() par LIGNE()-1 si tu commences en ligne 2 (-2 si ligne 3 etc)
    C'est à dire pour début en ligne 2 :
    =SUBSTITUE(CAR((LIGNE()-1-MOD(LIGNE()-2;26)-1)/26+64);"@";"")&CAR(MOD(LIGNE()-2;26)+65)

    eric
    0
  7. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    une autre plus simple :

    en ligne 1 :
    =GAUCHE(ADRESSE(1;LIGNE();4;1);NBCAR(ADRESSE(1;LIGNE();4;1))-1)

    et pareil, si début en ligne 2 remplacer les 2 ligne() par ligne()-1 etc

    eric
    0