VBA - Problème de format date inutilisable en VBA

Bonjour à tous.

Je rencontre actuellement un problème avec une extraction que je cherche à travailler en VBA, et qui renvoie un format date qu'Excel ne sait pas gérer.

En effet, j'ai un format date "jj/mm/aa hh:mm" qui sort (donc avec une année "courte") qu'excel ne sait pas interpréter. Impossible donc d'y appliquer des fonctions VBA sans avoir un message d'erreur "Type incompatible".

Je sais corriger ce type d'erreur en excel normal (hors VBA).

  • Soit je double clique sur chaque cellule et je fais entrée. (un peu barbare...)
  • Soit je fais un copier / coller de la valeur 1 avec multiplication.

Dans les deux cas, je reviens à un format compréhensible par excel, et que je peux manipuler sans difficultés.

J'ai essayé d'appliqué la deuxième solution ci dessus, mais en VBA ... sans succès. Impossible de corriger ce format date en passant par du VBA.

Si quelqu'un a une solution à me proposer, je suis preneur.

Je vous envoie un fichier d'exemple avec le format erroné, et le format à obtenir.

Merci par avance.

Onafe57.

Bonjour,

Pas besoin de vba pour ça, vous avez juste à convertir vos données avec la fonction "Convertir" (Onglet "Données" => "Convertir")

Votre Version Excel est bien 2010 ? Pcq si elle est plus recente il est possible de faire l'importation via Power Query

Bonjour.

Merci pour votre réponse.

Hélas, j'ai bien besoin de VBA, car je cherche à automatiser cette conversion pour les utilisateurs finaux ...

La macro complète vise à manipuler beaucoup plus les données que cette seule conversion. Mais avant tout, je dois solutionner ce problème de dates.

Mais je vais essayer d'enregistrer une macro automatique en passant par la conversion comme vous me le proposez... elle me renverra peut être la solution à mon problème !

Merci pour cette piste à explorer.

Cordialement,

Onafe57

Bonjour,

Une variante par VBA même si je pense que la méthode proposée par Valentin85 est plus pertinente (et également faisable par VBA de mémoire) :

Sub TRANS()
Dim C As Variant
Application.ScreenUpdating = False
For Each C In Range("A2:A18")
    Cells(C.Row, C.Column) = CDate(C)
Next C
Application.ScreenUpdating = True
End Sub

Ergotamine

Bonsoir,

Sur la base de "Données/Convertir"..

Sub Macro1()
With Range("A2:A" & Cells(Rows.Count, "A").End(xlUp).Row)
    .TextToColumns Destination:=Range("A2"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
        :=Array(1, 4), TrailingMinusNumbers:=True
    .NumberFormat = "dd/md/yyyy hh:mm"
End With
End Sub

Bonne soirée

Rechercher des sujets similaires à "vba probleme format date inutilisable"