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. 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
    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 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. 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. merci beaucoup Vaucluse
          bonne fin de journée
          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. 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. 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. Contributeur
                  Bonjour
                  =DROITE(A1;2) pour un valeur texte

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

                  crdlmnt
                  0