Macro

Résolu
Bonjour,
Quelle macro permet de faire passer le texte en A1 de "280101" à "28/01/01"?
--
Après Open Office essayez Opin Offece :P
Configuration: ...

10 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Bien sur... Merci de votre vigilance...
    Et idem pour la macro...

    Range("A1") = Left(Range("A1"), 2) & "/" & Mid(Range("A1"), 3, 2) & "/" & Right(Range("A1"), 2)
    
    Dim jour As String, annee As String
    Dim datedujour As String, mois As String
    jour = Left(Range("A1"), 2)
    mois = Mid(Range("A1"), 3, 2)
    annee = Right(Range("A1"), 2)
    datedujour = jour & "/" & mois & "/" & annee
    [A1] = CDate(datedujour)
    --
    Cordialement, et ..... Bonne Année, mes meilleurs voeux pour 2010!!!
    -- Tout problème à sa solution. S'il n'y a pas de solution, ou est le problème? --
    1. Bonjour,
      Vous pouvez tirez la formule de pijaku sur le nombre de ligne nécessaire !
      La macro n'est vraiment pas nécessaire !
      1. Modérateur
        SAlut Le pingou,
        Tout à fait d'accord avec toi. Le plus simple reste la solution avec formule. Cependant connaissant farfadet, il doit vouloir intégrer ce code à une macro de trois cent lignes, ou à un moment donné il a besoin de convertir A1...
        Il nous confirmera (ou infirmera) cela à son retour.
        Bonne journée
      2. @pijakuhé hé hé pijaku! En plein dans le mille ou presque.

        Ca marche nickel (jai du adapter vu la macro créée auparavant).

        Merci beaucoup
      3. @pijakuBonjour pijaku,
        Désolé j'ai pas vue les postes.
        Il y ajuste une petite correction de votre formule pour le STXT(A1;3;2), le n° départ est le 3 et non le 2
        sinon on a 280101 ==> 28/80/01
    2. Modérateur
      Re-
      Macro 1 : ne permet pas les calculs entre dates :

      Range("A1") = Left(Range("A1"), 2) & "/" & Mid(Range("A1"), 2, 2) & "/" & Right(Range("A1"), 2)


      Macro 2 : permets les calculs :

      Dim jour As String, annee As String
      Dim datedujour As String, mois As String
      jour = Left(Range("A1"), 2)
      mois = Mid(Range("A1"), 3, 2)
      annee = Right(Range("A1"), 2)
      datedujour = jour & "/" & mois & "/" & annee
      [A1] = CDate(datedujour)


      @ + Farfa

      EDIT : je te trouve très impatient aujourd'hui...
      1. Modérateur
        Salut,
        Formater en date nous donne, pour 280101, 20/11/2666, (sauf si tu formates ta cellule avant saisie...) je doute que ce soit ce que veux farfadet...
        Par formule déjà (le temps que je regarde une macro...) :
        =GAUCHE(A1;2) & "/" & STXT(A1;2;2) & "/" & DROITE(A1;2)
        1. Si tu parles de mettre le format de cellule en date ça ne fonctionne pas car 280101 ne correspond pas au28/01/01