VBA Copier/Coller sans mise en forme

Bonjour,

J'utilise ce programme pour exporter une plage de cellules de mon classeur source vers une base de données.

Actuellement, ce "copier/coller" s'effectue avec toutes les mises en forme (dont les formules). Est-il possible d'adapter mon code pour que les données soient transférées sous forme de texte brut ?

Sub Transfert_VO00352_APRES_DEP()
Dim Chemin As String, Fichier As String
Dim Ws As Worksheet

  Application.ScreenUpdating = False
  'Nom de la feuille à exporter
  Set Ws = Sheets("VO 352")

  'Chemin du classeur où mettre l'export
  Chemin = "C:\Users\Kévin\Desktop\Pointe LC 2.2\Export\Data\"
  'Nom du fichier d'export
  Fichier = "VO00352_AprèsCOM.xlsm"

  If Dir(Chemin & Fichier) = "" Then
    MsgBox "Le fichier " & Fichier & " est introuvable"
    Exit Sub
  End If

  With Workbooks.Open(Chemin & Fichier)
    'Feuil de destination dans fichier export
    With .Sheets("Feuil1")
      'Plage a exporter du fichier source // Colonne du début de l'export dans fichier réception .Range(".." & Rows.Count)
      Ws.Range("A5:J20").Copy .Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
    End With
    'Enregistrement
    .Close savechanges:=True
  End With
End Sub

Merci d'avance !

A vous relire

Horusbk

Bonjour,

Un essai ...

Sub Transfert_VO00352_APRES_DEP()
Dim Chemin As String, Fichier As String
Dim Ws As Worksheet

    Application.ScreenUpdating = False
    'Nom de la feuille à exporter
    Set Ws = Sheets("VO 352")

    'Chemin du classeur où mettre l'export
    Chemin = "C:\Users\Kévin\Desktop\Pointe LC 2.2\Export\Data\"
    'Nom du fichier d'export
    Fichier = "VO00352_AprèsCOM.xlsm"

    If Dir(Chemin & Fichier) = "" Then
        MsgBox "Le fichier " & Fichier & " est introuvable"
        Exit Sub
    End If

    With Workbooks.Open(Chemin & Fichier)
        'Feuil de destination dans fichier export
        With .Sheets("Feuil1")

            'Plage a exporter du fichier source // Colonne du début de l'export dans fichier réception .Range(".." & Rows.Count)
            Ws.Range("A5:J20").Copy
            .Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, _
                                        Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        End With
        'Enregistrement
        .Close savechanges:=True
    End With
End Sub

ric

Bonjour Ric

Cela fonctionne très bien, merci !

Toutefois, dans mon fichier de destination les heures s'affichent de la sorte : 0,666666667 (normal avec le type de collage employé par le code).

Pour avoir ces valeurs sous le format d'heure, faut-il modifier le codage ou simplement appliquer un format "HEURE" aux colonnes concernées de mon fichier de destination ?

Bonjour,

... simplement appliquer un format "HEURE" aux colonnes concernées de mon fichier de destination ...

Sinon, il faudrait coller des parties en valeurs et d'autres en copies complètes.

ric

ric

Je vais donc appliquer un format à mes colonnes qui auront des heures, ça sera plus facile

Merci de ton aide !

Horusbk

Bonjour horusbk, ric, le forum,

Un essai....à voir si ça pourrait convenir....

74horusbk.xlsm (19.56 Ko)

Cordialement,

Rechercher des sujets similaires à "vba copier coller mise forme"