XL 2013 Incrémentation Word via excel PB format dans Word

nadem0068

XLDnaute Junior
Bonjour à tous,

une fois n'est pas coutume, je reviens vers vous car j'ai un petit soucis que je n'arrive pas à résoudre.😄

j'ai un fichier Excel avec des heures, ce fichier me permet d'incrémenter un fichier Word grasse au VBA. cependant dans le fichier word les heures du fichier Excel sont transformé en texte est donc les valeurs ne sont plus les mêmes.

je souhaite donc que les heures du fichier Excel soie transcrit de la même manière dans le fichier Word

je joint les fichier Word et Excel
Attention pour que cela marche il faut mettre le lien du fichier Word entre guillemet dans la case A2 du fichier Excel.😉

Merci d'avance à tout ceux qui prendront le temps de ce penchés sur mon problème.😘
 

Pièces jointes

  • Heures source.xlsm
    13.9 KB · Affichages: 10
  • Heures.docx
    17.4 KB · Affichages: 3

job75

XLDnaute Barbatruc
Bonsoir nadem0068,

Pourquoi parler d'incrémentation ? Ici ça n'a aucun sens.

Téléchargez les 2 fichiers joints dans le même dossier (le bureau).

La macro du bouton :
VB:
Sub Copier_vers_Word()
Dim Wapp As Object, Wdoc As Object, tablo, i&, v, a$(), n&
On Error Resume Next
Set Wapp = GetObject(, "Word.Application")
If Wapp Is Nothing Then Set Wapp = CreateObject("Word.Application")
Wapp.Visible = True
Set Wdoc = Wapp.Documents.Open(ThisWorkbook.Path & "\Heures.docx")
If Wdoc Is Nothing Then MsgBox "Fichier 'Heures.docx' introuvable !", 48: Exit Sub
On Error GoTo 0
Wdoc.Content = "" 'RAZ
With Feuil1.UsedRange.Columns(1)
    If Application.Count(.Cells) = 0 Then Exit Sub
    tablo = .Resize(, 2) 'matrice, plus rapide, au moins 2 éléments
End With
For i = 2 To UBound(tablo)
    v = tablo(i, 1)
    If IsNumeric(v) Then
        ReDim Preserve a(n)
        a(n) = Int(24 * v) & ":" & Format(1440 * v - 60 * Int(24 * v), "00")
        n = n + 1
    End If
Next
Wapp.Selection = Join(a, vbCrLf) 'restitution dans Word
Wdoc.Range(0, 0).Select
AppActivate Wapp.Caption
End Sub
A+
 

Pièces jointes

  • Heures source(1).xlsm
    19.4 KB · Affichages: 8
  • Heures.docx
    11.7 KB · Affichages: 5

job75

XLDnaute Barbatruc
Bonjour nadem0068,

Si en A2 du fichier précédent on entre 15:18:30 l'affichage reste 15:18.

Par contre sur le fichier Word il passe à 15:19.

Pour y remédier on peut utiliser ce fichier (2) avec :
VB:
a(n) = Evaluate("TEXT(" & Replace(v, ",", ".") & ",""[h]:mm"")")
qui évalue avec le même format [h]:mm.

A+
 

Pièces jointes

  • Heures source(2).xlsm
    19.7 KB · Affichages: 5
  • Heures.docx
    11.7 KB · Affichages: 2

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 153
Membres
103 137
dernier inscrit
Billly