VBA : copier coller sans mise en forme, où est mon erreur ?

Bonjour, j'utilise cette formule pour copier coller. Je souhaite un copier/coller sans mise en forme.

Pouvez vous m'éclairer sur mon erreur ?

Sub InsererHistoriqueDevis()
' InsererHistoriqueDevis Macro
Sheets("Devis").Select
Range("A4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Historique devis").Select
Range("C10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Devis").Select
Range("C4:E4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Historique devis").Select
Range("D10:F10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Devis").Select
Range("C15:E15").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Historique devis").Select
Range("G10:I10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Devis").Select
Range("C8:E8").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Historique devis").Select
Range("G10:L10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Devis").Select
Range("totalHT").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Historique devis").Select
Range("M10").Select
Selection.Insert shift:=xlDown
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

Edit modo : code mise entre balises - Attention !

Bonjour sans fichier difficile de comprendre.

Je vois deux fois paste à partir de G10 ??? vous aller écrire sur des cellules déjà copier précédemment.

1) le "Paste" s'applique à partir d'une seule cellule pas à partir d'une plage.

2) Si vous souhaitez uniquement récupérer les valeurs sans mise en forme alors laissez tomber les copier / coller.

Il suffit d'écrire cette plage = cette plage ou cette cellule=cette cellule.

Exemple pour le début :

Worksheets("Historique devis").Range("C10").value=Worksheets("Devis").Range("A4").value
Worksheets("Historique devis").Range("D10:F10").value=Worksheets("Devis").Range("C4:E4").value
Worksheets("Historique devis").Range("G10:I10").value=Worksheets("Devis").Range("C15:E15").value

merci c'est en effet bcp plus simple.

Du coup où dois-je insérer dans cette formule la ligne :

Selection.Insert shift:=xlDown

Pour effectuer une mise à la ligne à chaque insertion de nouvelles données

En début de macro vous insérez la ligne en ligne 10 je suppose.

ensuite vous écrivez vos égalités.

   Sheets("Historique devis").Rows("10:10").Insert Shift:=xlDown

Bonjour le fil

NadegeEP, vous venez de poster votre message avec un format qui empêche une bonne lisibilité

Je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum et notamment :

  • Pour plus de lisibilité, utilisez la fonctionnalité </> pour insérer vos codes VBA (et si possible aussi pour vos formules Excel).
image

Merci de votre participation et de votre compréhension

A+

merci c'est parfait !

Je prends bonne note de la charte

bonne journée

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