Bonjour
je souhaiterai copier coller une plage de cellules mais sans la mise en forme
j'ai essayer avec ce code qui marche plutot bien, le soucis est que le temps de l'excution de ma maro prend bcp plus d temps que si je fais copier/coller avec la mise en forme ( environ 5 fois)
Tout comme Pierrejean, je confirme qu'avec cette syntaxe, seule la valeur est copiée
La preuve, avec ce petit test
(A tester sur une feuille vide)
VB:
Sub test()
Dim iLR&, a As Range
iLR = 2: Cells.Clear: Set a = [C2]
a.Value = "TEST": a.Font.Bold = True: a.Interior.Color = vbYellow
MsgBox "Cellule avec format: " & a.Address(0, 0) & Chr(13) & "=> Recopie Valeur Seule en A2"
'Seulement les valeurs !
Cells(iLR, "A").Value = Cells(iLR, "C").Value
End Sub
Bil Bouder
C'est surtout que tu dis des choses "erronées"
La syntaxe de pierrejean et ma macro de test (qui utilise la même syntaxe) font ce qu'évoquent le titre de ta discussion.
copier une valeur sans la mise en forme.
Elles fonctionnent donc!
Deux derniers exemples pour confirmer ce que je viens de dire
La première macro illustre ta méthode (copier/collage spécial Valeurs seules)
La seconde macro illustre la syntaxe de pierrejean
Et les deux donnent bien le même résultat, non?
Code:
Sub Test_II()
Dim i&
With Application
Range("A1") = .Rept(.UserName, 5)
Range("A1").WrapText = True
End With
For i = 2 To 10
Range("A1").Copy
Cells(i, 3).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Next i
End Sub
Sub Test_III()
Dim i&
With Application
Range("A1") = .Rept(.UserName, 5)
Range("A1").WrapText = True
Columns(3).Delete
End With
For i = 2 To 10
Cells(i, 3) = Cells(1, "A")
Next i
End Sub
Bil Bouder
C'est surtout que tu dis des choses "erronées"
La syntaxe de pierrejean et ma macro de test (qui utilise la même syntaxe) font ce qu'évoquent le titre de ta discussion.
copier une valeur sans la mise en forme.
Elles fonctionnent donc!
Deux derniers exemples pour confirmer ce que je viens de dire
La première macro illustre ta méthode (copier/collage spécial Valeurs seules)
La seconde macro illustre la syntaxe de pierrejean
Et les deux donnent bien le même résultat, non?
Code:
Sub Test_II()
Dim i&
With Application
Range("A1") = .Rept(.UserName, 5)
Range("A1").WrapText = True
End With
For i = 2 To 10
Range("A1").Copy
Cells(i, 3).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Next i
End Sub
Sub Test_III()
Dim i&
With Application
Range("A1") = .Rept(.UserName, 5)
Range("A1").WrapText = True
Columns(3).Delete
End With
For i = 2 To 10
Cells(i, 3) = Cells(1, "A")
Next i
End Sub