Fonction excel

bonjour,
je travaille avec excel 2003
dans la colonne a, j'ai un format personnalisé 00000
je désirerais mettre les 2 dernier chiffres de la colonne a dans la colonne b
en vous remerciant.

10 réponses

  1. Contributeur
    Bonjour
    =DROITE(A1;2) pour un valeur texte

    ou
    = DROITE(A1;2)*1 pour avoir une valeur num.

    crdlmnt
    0
    1. bonjour à vous deux,
      madmyke, j'ai bien vu cette page
      vaucluse, merci également

      ce que je voudrais c'est comment écrire = DROITE(A1;2)*1 en code vba pour toute ma colonne a et b sur 200 lignes
      en vous remerciant.
      0
      1. avec l'enregistreur de macros j'obtiens
        ActiveCell.FormulaR1C1 = "= RIGHT(RC[-1],2)*1"
        Range("A2").Select
        comment faire de A3 à A200 svp
        Merci à vous
        0
        1. Contributeur
          Bonjour
          salut Vaucluse :o)

          petite macro pour jour férié
          Option Explicit
          '-------------------------------------
          Sub extraire_droite2()
          Dim Derlig As Byte, Lig As Byte

          Application.ScreenUpdating = False
          Derlig = Columns("A").Find(what:="*", searchdirection:=xlPrevious).Row
          For Lig = 1 To Derlig
          Cells(Lig, "B") = Right(Cells(Lig, "A"), 2)
          Next
          Columns("B").NumberFormat = "00"
          End Sub


          0
          1. merci beaucoup Vaucluse
            bonne fin de journée
            0
            1. bonsoir,
              je reviens vers vous pour vous demander de bien vouloir corriger ce code
              en vous remerciant.

              Sub Mef_liste_chants()
              Dim Derlig As Byte, Lig As Byte

              Application.ScreenUpdating = False

              Columns("A:A").Select
              Selection.NumberFormat = "00000"
              Range("A1").Select
              ActiveCell.FormulaR1C1 = "Assemblée Marguerittes"
              Columns("B:C").Select
              Selection.Insert Shift:=xlToRight
              Rows(2).Insert Shift:=xlDown
              Range("A1").Select
              Range("A1").Select

              With Selection.Font
              .Name = "Times New Roman"
              .Size = 12
              End With

              Selection.Font.Bold = True
              ActiveCell.FormulaR1C1 = "= RIGHT(RC[-1],2)*1"
              Derlig = Columns("A").Find(what:="*", searchdirection:=xlPrevious).Row

              For Lig = 1 To Derlig
              Cells(Lig, "B") = Right(Cells(Lig, "A"), 2)
              Next
              Columns("B").NumberFormat = "00"
              Range("A1").Select

              Application.ScreenUpdating = True
              End Sub
              0
              1. Contributeur
                Voir avec Vaucluse puisque je n'ai pas existé pour toi
                0
            2. bonjour michel m,
              je suis désolé d'avoir zappé ta réponse, certainement du à mon état de santé qui a nécessité 15 jours d'hospitalisation et retour à l'hosto début janvier pour une op lourde.
              je te présente toutes mes excuses.
              0
              1. Contributeur
                Bonjour
                OK :o)

                Ton problème vient que l'on a un nombre dans la colonne A --> on ne peut donc pas utiliser la fonction "DROITE" directement: il faut transformer A3 en texte par la fonction CTXT (ou par un autre moyen)

                La formule serait donc
                =SI(A3="";"";DROITE(CTXT(A3;0);2))

                a mon avis, il est inutile maintenant d'écrire une macro mais....
                Option Explicit
                '--------------------------------------------
                Sub Mef_liste_chants()
                Dim Derlig As Byte, Lig As Byte

                Application.ScreenUpdating = False
                'mises en forme
                Columns("A").NumberFormat = "00000"
                Columns("B:C").Insert Shift:=xlToRight
                Rows(2).Insert Shift:=xlDown
                With Range("A1")
                .Value = "Assemblée Marguerittes"
                With .Font
                .Name = "Times New Roman"
                .Size = 12
                .Bold = True
                End With
                End With

                ' extrait les 2 derniers caractères de la colonne A
                Derlig = Columns("A").Find(what:="*", searchdirection:=xlPrevious).Row
                For Lig = 3 To Derlig
                If Cells(Lig, "A") <> "" Then: Cells(Lig, "B") = Right(CStr(Cells(Lig, "A")), 2)
                Next
                Columns("B").HorizontalAlignment = xlCenter
                Range("A1").Select

                'INUTILE: Application.ScreenUpdating = True
                End Sub


                pour terminer
                Il est fondamental de préciser EXACTEMENT le contexte de ton classeur lorsque tu demandes de l'aide
                au besoin:
                Mettre le classeur sans données confidentielles en pièce jointe sur https://www.cjoint.com/
                et coller le raccourci proposé (clic droit) dans le message de réponse


                Bon rétablissement de ta santé
                0
                1. bonjour michel m,
                  je te remercie de ne pas m'avoir tenu rigueur et pour tes explications.
                  je pense que je vais m'en sortir sinon je reviens.
                  je mettrai résolu plus tard si c'est bon.
                  encore merci.
                  0