Microsoft 365 copier coller sans la mise en forme

BIL boud

XLDnaute Occasionnel
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)
VB:
.Cells(iR, 22).Copy
Cells(iLR, 19).PasteSpecial Paste:=xlPasteValues

si vous pouvez maider ca sera sympa
merci d avance
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, pierrejean

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 boud

XLDnaute Occasionnel
Re

Si tu testes l'exemple, tel quel sur un classeur tout neuf, le code fonctionne !!!
C'est un exemple pour tester

Pas un code VBA à appliquer tel quel sur ton vrai classeur.

Et WrapText ne désactive pas le mise en forme :rolleyes: :eek:
RE
en fait pour WrapText ca desactive le saut dans la cellule

peut etre je me suis mal exprime
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil

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
PS: A tester sur un classeur vierge
 

BIL boud

XLDnaute Occasionnel
Bonjour le fil

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
PS: A tester sur un classeur vierge
bonjour

merci pour ces explications
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin