XL 2013 Conversion de colonnes dates en format numérique

Daniel Desch

XLDnaute Nouveau
Bonjour,

J'ai un tableau excel qui contient une colonne avec des dates

Grâce à une macro, je souhaite convertir ces dates en numérique (nombre) au format aaaammjj, quelque soit par ailleurs le format actuel des dates en question

Merci par avance pour votre aide

Cordialement

Daniel
 

Daniel Desch

XLDnaute Nouveau
Bonjour,

Je pense que cette formule convertit en texte et non en numérique
En plus je veux la faire sur toutes les cases renseignées de la colonne et ce n'est pas moi qui vais faire ça, ce sont les utilisateurs qui cliqueront sur un bouton pour mettre en forme le fichier excel. Il faut donc que dans la macro associée au bouton le reformatage complet de la colonne soit réalisé (avec en plus d'autres actions que je rajouterai à la suite).

Cordialement
 

Modeste geedee

XLDnaute Barbatruc
bonsour®
Bonjour,

J'ai un tableau excel qui contient une colonne avec des dates

Grâce à une macro, je souhaite convertir ces dates en numérique (nombre) au format aaaammjj, quelque soit par ailleurs le format actuel des dates en question

Merci par avance pour votre aide

Cordialement

Daniel
c'est justement le format actuel des dates que nous ne voyons pas d'ici ...
 

Daniel Desch

XLDnaute Nouveau
Bonjour Modeste,

J'ai déjà vu dans les tableaux des formats de dates comme par exemple les suivants. Suivant les utilisateurs les tableaux ne sont pas tous formatés pareils, c'est un peu ça la difficulté mais ils contiennent tous les mêmes types de données

12/03/2019​
01/02/19​
23-févr​

Dans ces 3 cas je voudrais respectivement convertir en 20190312, 20190201 et 20190223 avec format numérique

Cordialement
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

A tester sur des cellules de date en colonne A
VB:
Sub DateNumerique()
    Dim c As Range, plage As Range
    Set plage = Sheets("Feuil1").Range("A1").CurrentRegion.Columns(1)
    For Each c In plage.Cells
        If IsDate(c.Value) Then c.Value = CLng(Format(c, "yyyymmdd"))
    Next
    plage.NumberFormat = "0"
End Sub

A bientôt
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Et pour plaire à certains, si vous avez de très nombreuses cellules à convertir:
VB:
Sub Numeriques()
    Dim plage As Range
    Dim dates As Variant, numériques As Variant
    Dim i As Long
    Set plage = Sheets("Feuil1").Range("A1").CurrentRegion.Columns(1)
    dates = plage.Value
    ReDim numériques(1 To UBound(dates))
    For i = 1 To UBound(dates)
        If IsDate(dates(i, 1)) Then numériques(i) = CLng(Format(dates(i, 1), "yyyymmdd"))
    Next
    plage.Value = Application.Transpose(numériques)
    plage.NumberFormat = "00000000"
End Sub

Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16