Date récupéréées en texte

  • Initiateur de la discussion Initiateur de la discussion panda
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

panda

XLDnaute Occasionnel
Bonjour et bonne année
Voilà en fait, je suis dans une entreprise où le problème est récurrent. Tous les postes sont configurées en anglais, donc les dates sont sous la forme M/J/A. Ils reçoivent des fichiers provenant de x applications, par exemple de word qui contiennent des dates qui sont au format français (j/m/aaaa). Ils font un copier-coller pour récupérer ces dates dans excel et donc là c'est le b-----. J'ai essayé Données - Convertir mais ça ne fonctionne pas.
Quelqu'un pourrait-il m'aider ?
Merci à vous tous*
(Ci-joint un fichier d'exemple sachant que les dates ne se suivent pas, bien entendu)
 
Re : Date récupéréées en texte

Bonsoir le fil et les amis du fil,

Ce qu'il nous faudrait, peut-être, c'est le fichier original (origniel), bien avant d'entrer en Excel...

Pour voir ce que l'on peut en faire, car j'ai passé plusieurs heures sans trouver de réponses.... voire même à recharger le fichier de départ...

Pas simple ces versions, et en plus, pas dans les mêmes langues...

Bonne soirée, bonne année...
 
Re : Date récupéréées en texte

re,

la formule que je te proposais à 17h16 ne devrait pas retourner FAUX

Je la remets ici (au cas où il y aurait eu un souci lors du copiage tout à l'heure) :

en C11 :

Code:
=SI(ESTTEXTE(B11);(STXT(B11;4;3)&GAUCHE(B11;3)
&DROITE(B11;4))*1;(MOIS(B11)&"/"&JOUR(B11)
&"/"&ANNEE(B11))*1)

Sinon, une autre piste :

Sélectionner les dates à problème,

Données - Convertir - Largeur fixe - Suivant - Suivant - Cocher Date - et éventuellement essayer l'un des formats proposés - Terminer

@+
 
Re : Date récupéréées en texte

Bonjour Panda, Tibo, Jean Pierre ..

Une proposition de conversion via VBA
Sur l'exemple de Panda, ça fonctionne. voir le fichier joint, les dates sont bien transposées.

Code:
Private Sub cmdVerifdate_Click()
Dim n&
Dim i&
Dim yFR As Integer
Dim mFR As Byte
Dim dFR As Byte
Dim yUS As Integer
Dim mUS As Byte
Dim dUS As Byte
Dim Madate As Date
n = Cells(65536, 2).End(3).Row
For i = 11 To n
    If Not IsNumeric(Cells(i, 2)) Then
        mUS = CByte(Left(Cells(i, 2), 2))
        dUS = CByte(Left(Right(Cells(i, 2), 7), 2))
        yUS = CInt(Right(Cells(i, 2), 4))
        dFR = CByte(dUS)
        mFR = CByte(mUS)
        yFR = CInt(yUS)
        Madate = CDate(dFR & "/" & mFR & "/" & yFR)
       Cells(i, 4) = Madate
    End If
Next
    
End Sub
A Panda : si cette solution te convient, (et si tu ne connais pas le VBA), on pourra voir comment l'adapter à tes fichiers

A Tibo : on est bien complémentaires : sur un autre fil, j'apporte une solution en VBA, tu apportes la tienne en formule et c'est l'inverse sur ce fil. Les "clients" n'ont plus qu'à faire leur choix ! 😉.

Excellente soirée à tous

Kotov
 

Pièces jointes

Dernière édition:
Re : Date récupéréées en texte

Re,

La macro de mon précédent post fonctionne parfaitement sur tes dates US au format texte.

Il me vient à l'esprit que dans ta colonne, tu peux également avoir du texte qui n'est pas une date (ex: l'entête de colonne).
Donc, j'ai apporté une petite modif à ma macro (couleur bleue)

Code:
Private Sub cmdVerifdate_Click()
Dim n&
Dim i&
Dim yFR As Integer
Dim mFR As Byte
Dim dFR As Byte
Dim yUS As Integer
Dim mUS As Byte
Dim dUS As Byte
Dim Madate As Date
n = Cells(65536, 2).End(3).Row
On Error Resume Next

For i = 11 To n

    If Not IsNumeric(Cells(i, 2)) Then
       [color=blue]If Len(Cells(i, 2)) = 10 And Left(Right(Cells(i, 2), 8), 1) = "/" And Left(Right(Cells(i, 2), 5), 1) = "/" Then
[/color]   
             mUS = CByte(Left(Cells(i, 2), 2))
             dUS = CByte(Left(Right(Cells(i, 2), 7), 2))
             yUS = CInt(Right(Cells(i, 2), 4))
             dFR = CByte(dUS)
             mFR = CByte(mUS)
             yFR = CInt(yUS)
             Madate = CDate(dFR & "/" & mFR & "/" & yFR)
             Cells(i, 4) = Madate
       [color=blue] End If [/color]
    End If
Next
End Sub

Maintenant, la conversion Date US / Date FR, ne s'effectuera que sur une cellule de 10 caractères et composée du "/" en 3ème et en 6ème position.

Bonne soirée
Kotov
 
Dernière édition:
Re : Date récupéréées en texte

Bonjour,

La nuit portant conseil, je me rend compte qu'il est encore possible de simplifier la macro :
La ligne If Len(Cells(i, 2)) = 10 And Left(Right(Cells(i, 2), 8), 1) = "/" And Left(Right(Cells(i, 2), 5), 1) = "/" Then rend obsolète la ligne If Not IsNumeric(Cells(i, 2)) Then .
Donc, on l'enlève ainsi que le End If qui lui est associé.

Code:
Private Sub cmdVerifdate_Click()
Dim n&
Dim i&
Dim yFR As Integer
Dim mFR As Byte
Dim dFR As Byte
Dim yUS As Integer
Dim mUS As Byte
Dim dUS As Byte
Dim Madate As Date
n = Cells(65536, 2).End(3).Row
On Error Resume Next

For i = 11 To n

         If Len(Cells(i, 2)) = 10 And Left(Right(Cells(i, 2), 8), 1) = "/" And Left(Right(Cells(i, 2), 5), 1) = "/" Then
             mUS = CByte(Left(Cells(i, 2), 2))
             dUS = CByte(Left(Right(Cells(i, 2), 7), 2))
             yUS = CInt(Right(Cells(i, 2), 4))
             dFR = CByte(dUS)
             mFR = CByte(mUS)
             yFR = CInt(yUS)
             Madate = CDate(dFR & "/" & mFR & "/" & yFR)
             Cells(i, 4) = Madate
        End If
   
Next
End Sub

Bonne journée
Kotov
 
Re : Date récupéréées en texte

Bonjour à vous tous !
J'avais décroché ce WE, mais je vois avec plaisir que vous ne m'avez pas oubliée! Je joins ici mon fichier xl avec toutes les solutions proposées afin que vous voyiez le résultat, ce sera sans doute plus clair...
Voilà, bon je suis pas contre le VBA (si il n'y a pas d'autres solutions), il faudrait juste m'expliquer comment le faire.
Je vous remercie beaucoup beaucoup beaucoup....
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

E
Réponses
6
Affichages
2 K
D
  • Question Question
Réponses
9
Affichages
1 K
M
  • Question Question
Réponses
5
Affichages
1 K
scorpio94
S
S
Réponses
2
Affichages
924
sirusg60
S
F
Réponses
5
Affichages
1 K
T
Réponses
6
Affichages
2 K
S
Réponses
7
Affichages
2 K
sganarelle
S
P
Réponses
7
Affichages
2 K
patrickvanec
P
B
Réponses
5
Affichages
804
benoa
B
M
Réponses
4
Affichages
16 K
MisterFred
M
Retour