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

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Bonjour
    =DROITE(A1;2) pour un valeur texte

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

    crdlmnt
    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.
      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
        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


          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
            1. Contributeur
              Voir avec Vaucluse puisque je n'ai pas existé pour toi
          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.
            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é
              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.