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
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
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 IfRe le forum et jean Paul
j'aimerai pourvoir coller ma journée de travail
cette partie là entourée en rouge que je voudrais coller dans la feuille tournée.
ton code colle seulement dans la feuille
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 IfRe,
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é ?