Macro Excel : Convertion des dates en texte [Résolu/Fermé]

Signaler
Messages postés
9
Date d'inscription
vendredi 22 octobre 2004
Statut
Membre
Dernière intervention
25 novembre 2006
-
 oozgr -
Bonjour à tout le monde,

Je voudrais convertir une colonne où il y a des dates (jj/mm/aaaa) en format texte dans une macro Excel.
Quand je le fais directement sous Excel, il n'y a aucun problème, mais quand je veux la faire exécuter dans une macro, le format se transforme en mm/jj/aaaa, donc format anglais et non français. Voici ma macro :

Columns("C:C").Select
Selection.TextToColumns Destination:=Range("C1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 2), TrailingMinusNumbers:=True

Que dois-je rajouter à ma macro pour qu'il l'exécute correctement, c'est à dire en jj/mm/aaaa, ou même soyons fou en jj/mm/aa

Merci d'avance pour vos réponses
A voir également:

3 réponses

Bonjour,
Je suis "rookie" en macro, mais j'ai utilisé ton macro (Nino ) pour mon problème .
et quand j'ai fait un convertir de fichier CSV avec la code:

Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 3), Array(10, 1))

je ne sais pas ou il faut l'integrer ( dans une array ?)
après convertir c'est trop tard, le format ne marche pas !

Merci d'avance,
oozgr
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 512
Salut,
Sub texte()
    Range("b1").NumberFormat = "@"
    Range("b1") = Format(Range("a1"), "dd/mm/yyyy")
End Sub
lami20j
Messages postés
9
Date d'inscription
vendredi 22 octobre 2004
Statut
Membre
Dernière intervention
25 novembre 2006

Salut lami20j,

Merci pour ta réponse. Avec ta réponse, j'ai pu me débrouiller pour trouver la solution.
En fait voici la solution pour le faire sur une colonne, et non sur une cellule :


Dim myRange As Range
Dim myDate As Date

Columns("C:C").Select
For Each myRange In Selection
If myRange.Value = "" Then
Exit For
Else
myDate = myRange.Value
myRange.NumberFormat = "@"
myRange.Value = Format(myDate, "dd/mm/yyyy")
End If
Next

Encore merci
>
Messages postés
9
Date d'inscription
vendredi 22 octobre 2004
Statut
Membre
Dernière intervention
25 novembre 2006

Salut Phil,

J'ai bien le même problème que toi et j'ai essayé ta macro, mais il me marque une erreur d'éxecution '13', incompatibilité du type.

Votre aide est la bioenvenue,

Merci d'avance
Karine
Bonjour,

En fait j'avais le meme problème, sur la premiere ligne de la collonne j'avai un titre donc il ne pouvai pas faire le changement de format et voici la solution:

Dim myRange As Range
Dim myDate As Date

Range("C2:C400").Select 'Je commence ici à la 2ème ligne pour eviter la cellule C1 ou il y a du texte et pas une date
For Each myRange In Selection
If myRange.Value = "" Then
Exit For
Else
myDate = myRange.Value
myRange.NumberFormat = "@"
myRange.Value = Format(myDate, "dd/mm/yyyy")
End If
Next


ENJOY...
Nino