Convertir date xx en 20XX

TTL69 Messages postés 1 Date d'inscription mercredi 1 juin 2022 Statut Membre Dernière intervention 1 juin 2022 - 1 juin 2022 à 21:46
cs_Le Pivert Messages postés 7893 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 19 mai 2023 - 2 juin 2022 à 10:35
Je sollicite votre aide pour un code vba sous ecel.
J’ai une extraction qui contient 3 colonnes de dates (c’est une extraction issue de notre wms). Or ces colonnes ont des erreurs de date. Excel indique : « date du texte avec une année à deux chiffre ».
Je peux convertir ces cellules de XX en 20XX manuellement mais je voudrais automatiser ceci.
Auriez vous un code pour cela ?

d'avance merci

1 réponse

cs_Le Pivert Messages postés 7893 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 19 mai 2023 136
2 juin 2022 à 10:35
Bonjour,

ne sachant pas si il s'agit d'une date complète ou seulement des années.

Voilà un exemple pour les années:

d'abord faire une boucle sur la colonne concernée:

https://www.developpez.net/forums/d605223/logiciels/microsoft-office/excel/contribuez/boucles-parcourir-colonne-ligne-plage-donnees-2-methodes/

ensuite compter le nombre de caractères:

https://silkyroad.developpez.com/VBA/ManipulerChainesCaracteres/#LI-A

ce qui donne:

Sub For_X_to_Next_Ligne()
Dim FL1 As Worksheet, NoCol As Integer
Dim NoLig As Long, Var As Variant
    Set FL1 = Worksheets("Feuil1")
    NoCol = 1 'lecture de la colonne 1
    For NoLig = 1 To Split(FL1.UsedRange.Address, "$")(4)
        Var = FL1.Cells(NoLig, NoCol)
       If Len(Var) = 2 Then
       FL1.Cells(NoLig, NoCol) = "20" & FL1.Cells(NoLig, NoCol)
       End If
    Next
    Set FL1 = Nothing
End Sub


si il s'agit d'une date complète mettre 2 exemples

0