Microsoft 365 Convertir du texte en Date

famu

XLDnaute Occasionnel
Bonjour à tous,
Je bute sur un code en VBA qui pourrait convertir du texte en date.
J'ai joint un fichier pour être plus clair...
Merci d'avance pour votre aide,
Famu
 

Pièces jointes

  • Test_Date_VBA.xlsx
    11.4 KB · Affichages: 21

famu

XLDnaute Occasionnel
Bonjour TooFatBoy,

Oui évidemment, le fichier .xlsm avec la macro qui avait déjà été faite aurait eu plus de sens. Erreur de ma part...précipitation !
Ton code fonctionne à merveille. Il met la date dans les 23036 cellules dans un temps record.
Merci pour tout et bonnes fêtes de fin d'année,
Famu.
 

Cousinhub

XLDnaute Barbatruc
Bonjour,
Une petite variante, qui tout d'abord, comporte quelques différences avec les calculs de @TooFatBoy , notamment pour les années 2021, 2027, 2038, 2044, 2049 (je sais, on ne sera peut-être plus là.... :)
De plus, le numéro de semaine peut être sous forme Sem.05 ou Sem.5
Bonne journée
VB:
Sub Rempl_Date()
Dim LeJour
Dim Jour_D As Byte
Dim Cel As Range
LeJour = Array("Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche")
With Sheets("Feuil2")
    For Each Cel In .Range("A3:A" & .Cells(Rows.Count, "A").End(xlUp).Row)
        Jour_D = Application.Match(Application.Proper(Cel.Offset(, 3)), LeJour, 0) - 1
        Cel.Offset(, 1) = 7 * Val(Mid(Cel, 5, 2)) + DateSerial(Right(Cel, 4) * 1, 1, 3) - _
            Weekday(DateSerial(Right(Cel, 4) * 1, 1, 3)) - 5 + Jour_D
    Next Cel
End With
End Sub
 

TooFatBoy

XLDnaute Barbatruc
De plus, le numéro de semaine peut être sous forme Sem.05 ou Sem.5
J'avoue que, dans l'absolu, c'est effectivement un plus.👍

Mais vu la réponse précédente de famu, je n'ai pas cherché plus loin. 😉
Comme je suis l’administrateur de ce fichier, toutes les semaines de l’année auront bien deux chiffres.



Une petite variante, qui tout d'abord, comporte quelques différences avec les calculs de @TooFatBoy , notamment pour les années 2021, 2027, 2038, 2044, 2049 (je sais, on ne sera peut-être plus là.... :)
Arf... me serais-je trompé ? 🤔
 
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
J'ai compris pourquoi ça ne pouvait pas fonctionner : j'ai bêtement cru qu'en VBA WeekDay fonctionnait de la même façon que JourSem en formule, donc j'ai gardé la même forme alors que le paramètre 3 n'a pas du tout la même signification !

C'était trop logique et donc évident que les deux devaient fonctionner de la même façon que du coup ils fonctionnent différemment... 🤣

Heureusement que tu étais là bhbh. 👍


Je mets en pièces jointes les deux fichiers corrigés (enfin... j'espère !).
 

Pièces jointes

  • Test_Date_Formule_(TooFatBoy-v3) .xlsm
    20.9 KB · Affichages: 5
  • Test_Date_VBA-(1)_(TooFatBoy-v2).xlsm
    22.2 KB · Affichages: 4

Discussions similaires

Réponses
13
Affichages
354

Statistiques des forums

Discussions
312 206
Messages
2 086 220
Membres
103 158
dernier inscrit
laufin