Problème avec Paste et mise en forme

Bonjour Le forum

voila, j'ai un code afin de sauvegarder des données dans un onglet tournée

Private Sub CommandButton1_Click()
 'Declarations des variables
    Dim wb As Workbook
    Dim DL As Integer
    Dim answer As Integer
    UserForm.Hide
    With Sheets("Tournée")
    With Feuil13
        .Visible = -1
        .Select
    End With
    End With
    answer = MsgBox("Voulez-vous sauvegarder votre releve de notes?", vbYesNo)
            'Copie de la zone source
        If answer = vbYes Then
        Sheets("Notes Loc NG").[C14].CurrentRegion.Copy
            With Sheets("Tournée")
            'Ligne à écrire
            DL = 1 + .Range("H65500").End(xlUp).Row
            'Datation de la sauvegarde
            .Cells(DL, "B") = "Sauvegarde du " & Now
            'Collage des données
            .Cells(DL + 1, "C").PasteSpecial xlPasteAllUsingSourceTheme
            'Datation en gras
            .Cells(DL, "B").Font.Bold = True
            'Taille de la datation
            .Cells(DL, "B").Font.Size = 16
            'Couleur de la datation
            .Cells(DL, "B").Font.ColorIndex = 3
            End With
        End If

End Sub

ça fait bien son travail de copie avec les mise en forme mais c'est décalé par rapport à l'écran

capture d ecran 2023 12 11 073103

lorsque je modifie le code en changeant la colonne "C" et "B" la copie fonctionne aussi la je pers les mise en forme voir image

image

Je comprends pas pourquoi

Cordialement

bonjour Pelerin65,

il faut voir vos formules de MFC, il y a quelque chose dedans avec la colonne, mais c'est difficile à dire sans fichier.

Je suppose que le plus facile sera de vous voulez cela copier& coller "Hard" les formats cellule par cellule

Salut,

Bien bizarre tout cela, peux-tu tester en collant d'abord les données et ensuite faire la mise en forme de la cellule de date ?

    Dim Answer As VbMsgBoxResult
    If Answer = vbYes Then
        Worksheets.Item("Notes Loc NG").Range("C14").CurrentRegion.Copy
        With Worksheets.Item("Tournée")
            .Range("H" & Rows.Count).End(xlUp).Offset(2, -6).PasteSpecial _
                  Paste:=xlPasteAllUsingSourceTheme, SkipBlanks:=False, Transpose:=False
            With .Range("H" & Rows.Count).End(xlUp).Offset(1, -6)
                .Value = "Sauvegarde du : " & Format$(Now, "General date")
                .Font.Size = 16
                .Font.Bold = True
                .Font.ColorIndex = xlColor3
            End With
        End With
    End If

Re le forum et jean Paul

j'aimerai pourvoir coller ma journée de travail

capture d ecran 2023 12 11 105655

cette partie là entourée en rouge que je voudrais coller dans la feuille tournée.

capture d ecran 2023 12 11 103117

ton code colle seulement dans la feuille

capture d ecran 2023 12 11 105334
    Dim Answer As VbMsgBoxResult
    If Answer = vbYes Then
        Worksheets.Item("Notes Loc NG").Range("C14").CurrentRegion.Copy
        With Worksheets.Item("Tournée")
            .Range("H" & Rows.Count).End(xlUp).Offset(2, -6).PasteSpecial _
                  Paste:=xlPasteAllUsingSourceTheme, SkipBlanks:=False, Transpose:=False
            With .Range("H" & Rows.Count).End(xlUp).Offset(1, -6)
                .Value = "Sauvegarde du : " & Format$(Now, "General date")
                .Font.Size = 16
                .Font.Bold = True
                .Font.ColorIndex = xlColor3
            End With
        End With
    End If

Re,

Ok j'avais pas tout vu, je n'ai pas les colonnes affichées sur la photo mais grosso-modo tu dois faire la copie en deux fois :

  • D'abord la plage [[LVT]:[Arrivée]]
  • Ensuite la plage [[Catégories]:[Lieux]] (Lieux si c'est la dernière colonne)

Le mieux serais de passer les deux plages en tableaux structurés, et ensuite de faire la sauvegarde.

Peux-tu poster un fichier anonymisé ?

Rechercher des sujets similaires à "probleme paste mise forme"