Import d'un Tableau Word dans Excel : format des dates modifié

  • Initiateur de la discussion Initiateur de la discussion booh
  • 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 !

booh

XLDnaute Nouveau
Bonjour à tous.
J'ai un petit problème et j'aurais besoin de votre aide. Je vous explique.
J'ai besoin d'importer des tableaux depuis Word sous Excel, ce que je suis parvenu à faire, avec une demande d'ouverture de fichier, je sélectionne mon fichier Word, et le tableau qui s'y trouve est copié dans une de mes feuilles Excel.
Mon problème est que ce tableau contient des dates et des heures sous la forme suivante dans le tableau word :
11/04/2006 11:20:55 05/09/2006 17:40:17
28/06/2006 11:08:58 07/09/2006 10:07:38
05/07/2006 14:17:37 04/09/2006 13:58:52
11/07/2006 08:35:52 05/09/2006 14:52:58

Seulement voilà, après l'importation sous excel, je me retrouve avec certaines dates (mais pas toutes) à l'américaine (alors que d'autres restent à l'européenne ???).
Cela donne ce qui suit (en gras ce qui a changé):
04/11/2006 11:20 09/05/2006 17:40
28/06/2006 11:08:58 09/07/2006 10:07
07/05/2006 14:17 09/04/2006 13:58
07/11/2006 08:35 09/05/2006 14:52

Hors je suis amené à faire des calculs sur mes dates (des différences). Et avec ces dates changées et d'autres qui ne le sont pas, ca me semble peu fiable.
Est ce que quelqu'un saurait comment je peux faire pour éviter cet accro ?
Merci d'avance.
 
Re : Import d'un Tableau Word dans Excel : format des dates modifié

RE

Tu le fais par un copier coller ton import de tableau ?

Sinon ce serait possible d'avoir en piece jointe ton tableau word avec juste quelques dates (tu retires tout le reste) pour voir STP
 
Re : Import d'un Tableau Word dans Excel : format des dates modifié

Je fais mon import via une macro :
Code:
Function ImportFichier() As Boolean
Dim sDisque As String
Dim NomFichierAOuvrir As Variant
Dim AppliWord As Word.Application
Dim bWordDejaOuvert As Boolean

    'Positionnement sur le disque et le répertoire du fichier (paramétré)
    On Error Resume Next 'On supprime le plantage en cas d'erreur
    sDisque = Left(Sheets("Mode d'Emploi").Range("RepertoireFichier").Value, 2)
    If Mid(sDisque, 2, 1) = ":" Then ChDrive sDisque
    ChDir Sheets("Mode d'Emploi").Range("RepertoireFichier").Value
    On Error GoTo 0 'On remet la gestion d'erreur normale
    
    'Saisie du nom du fichier à ouvrir
    NomFichierAOuvrir = Application.GetOpenFilename("Fichiers RTF (*.rtf), *.rtf", , "Sélectionnez le fichier word à ouvrir")
    If NomFichierAOuvrir = False Then
        ImportFichier = False
    Else
        ImportFichier = True
        Application.ScreenUpdating = False
        
        'On supprime tout dans l'onglet "Feuil1" de ce classeur
        ThisWorkbook.Sheets("Feuil1").Activate
        ActiveSheet.Range(Cells(1, 1), Cells(1, 1).SpecialCells(xlCellTypeLastCell)).EntireColumn.Delete
        
        '-------------------------------
        'Ouverture du fichier sous Word
        '-------------------------------
        bWordDejaOuvert = True
        On Error Resume Next
        Set AppliWord = GetObject(, "Word.Application")
        If Err.Number <> 0 Then
           Set AppliWord = CreateObject("Word.Application")
            bWordDejaOuvert = False
        End If
        Err.Clear ' Efface l'objet Err au cas où une erreur s'est produite.
        On Error GoTo 0
        'AppliWord.Activate
        AppliWord.Visible = True
        'AppliWord.Application.ScreenUpdating = False
        
        AppliWord.Documents.Open Filename:=NomFichierAOuvrir, _
            ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _
            PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
            WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
            wdOpenFormatAuto
        'On se positionne sur la 2eme ligne
        AppliWord.Selection.MoveDown Unit:=wdLine, Count:=1
        'On selectionne tout jusqu'en bas
        AppliWord.Selection.EndKey Unit:=wdStory, Extend:=wdExtend
        'On copie ce qu'on a sélectionné
        AppliWord.Selection.Copy
        'On ferme le fichier rtf
        AppliWord.ActiveDocument.Close
        
        'On colle dans l'onglet "Feuil1" de ce fichier
        ThisWorkbook.Sheets("Feuil1").Activate
        Cells(1, 1).Select
        ActiveSheet.Paste
        'ActiveSheet.PasteSpecial Format:="Microsoft Word 8.0 Document Object"
        'ActiveSheet.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

        If Not bWordDejaOuvert Then AppliWord.Quit 'On ferme Word s'il n'était pas ouvert
        Set AppliWord = Nothing
                
        Application.ScreenUpdating = True

    End If

Et en pièce jointe une copie du tableau word
 

Pièces jointes

Re : Import d'un Tableau Word dans Excel : format des dates modifié

Les références cochées sont les suivantes :
-Visual Basic for Applications
-Microsoft Excel 9.0 Object Library
-OLE Automation
-Microsoft Word 9.0 Object Library

Et je travaille avec Excell 2000.

Il faut avoir deux feuilles dans le classeur. Une feuille 'Feuil1' qui va contenir les données extraites du fichier word et une feuille 'Mode d'Emploi' pour laquelle la cellule D3 contient le chemin du répertoire où l'on va chercher le fichier word.
 
Re : Import d'un Tableau Word dans Excel : format des dates modifié

bonjour Booh , bonjour cher Pascal

je viens de tester ta procédure: les formats Date sont bien respectés (OfficeXP-français & WinXP)

tu peux tester la macro ci dessous pour vérifier les paramètres de ton poste (Renvoie 1 chez moi)

Code:
Sub TestParametresDate()
    MsgBox Application.International(xlDateOrder)
    
    'Ordre des éléments de la date :
    '0 = mois-jour-année
    '1 = jour-mois-année
    '2 = année-mois-jour
End Sub


bon apres midi
MichelXld
 
Re : Import d'un Tableau Word dans Excel : format des dates modifié

Merci pour ton aide, MichelXld.
Je viens de tester ta macro, et elle me renvoie 1 également.
Et c'est étrange, mais quand je fais un copier-coller directement depuis mon fichier Word, je n'ai pas ce problème de dates mises au format américain (inversion jour et mois). Malheureusement, je ne peux pas me permettre de conserver cette solution. 🙁
 
Re : Import d'un Tableau Word dans Excel : format des dates modifié

Re

bon j'ai la même config que toi et cela bug aux lignes suivnantes


Dim AppliWord As Word.Application


AppliWord.Selection.MoveDown Unit:=wdLine, Count:=1

AppliWord.Selection.EndKey Unit:=wdStory, Extend:=wdExtend
 
Re : Import d'un Tableau Word dans Excel : format des dates modifié

Bonjour,

Excel considère les dates dont le jour est inférieur à 13 comme un format US, donc MJA.

Sélectionner les dates "inversées"
Menu Données / Convertir / Suivant / Suivant / Face à date choisir MJA / Terminer

mjo
 
Re : Import d'un Tableau Word dans Excel : format des dates modifié

Merci mjo.
Mais y a t'il moyen de modifier les dates inversées par macro ? Voir de régler excel pour qu'il considère les dates dont le jour est inférieur à 13 comme un format européen ?
D'ailleurs je viens d'esssayer la manipulation que tu donnes mjo, et ça n'a pas inversé les dates ???
Pascal76, je ne comprend pas pourquoi ça ne fonctionne pas chez toi, vu que tu as la même config que moi.
Bon, si je ne trouve pas de solution, je me rabattrai sur des copier-coller de mes tableaux depuis word directement, vu que ça ne modifie pas mes dates. Mais j'aurais aimé comprendre pourquoi un import depuis word modifie les dates ainsi.
 
- 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

Réponses
2
Affichages
798
Réponses
5
Affichages
740
Retour