Re : Copier coller VBA la valeur et non la formule
Merci!
J'ai essayé ce truc (c'était le 48e que j'essayais) et il ne fonctionne pas dans mon code :
Voici mon code :
Option Explicit
Sub Notes_exporter()
'00
ActiveCell.Name = "toto"
Range(Range("toto"), Range("toto").End(xlDown)).Copy Destination:=Sheets("Publi").Range("A2").End(xlToRight).Offset(-1, 1)
ActiveCell.Offset(1, 1).Value = "Pub"
End Sub
' derniere tentative qui ne fonctionne toujours pas Range(Range("toto"), Range("toto").End(xlDown)).Copy
'Sheets("Publi").Range("A1").End(xlToRight).Offset(0, 1).Select
'Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
' :=False, Transpose:=False
'Worksheets("Positions").Range("W2").Value = .Range("A3").End(xlDown).Offset(0, 41).Value
'to copy a formula result as a value instead of the formula, instead of '.Paste', use '.PasteSpecial'
'just replace your line of code:
'ActiveSheet.Paste Destination:=Worksheets("Positions").Range("W2")
'with this line:
'Worksheets("Positions").Range("W2").PasteSpecial xlPasteValues
'see the excel vba help file for the use of the PasteSpecial method. it's pretty straightforward.
' Cette ligne ne fait que copier l'entête Sheets("Publi").Range("A1").End(xlToRight).Offset(0, 1).Value = Range(Range("toto"), Range("toto").End(xlDown)).Value
'autre info : Workbooks("classeur2").Sheets("feuil1").Range("E2: E15") = Workbooks("classeur1").Sheets("feuil1").Range("C2: C15").Value
'copie encore juste l'entete : Sheets("Publi").Range("A1").End(xlToRight).Offset(0, 1) = Sheets("Vierge").Range(Range("toto"), Range("toto").Offset(0, 41)).Value
et le code que tu parles quand on enregistre une macro :
Range("O5:O35").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Publi").Select
Range("J2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("K27").Select
Toutefois, je n'arrive pas à changer la sélection (le range J2 dans le dernier code) pour celui qui "cherchera" la prochaines colonne de libre (le Sheets("Publi").Range("A1").End(xlToRight).Offset(0, 1))...
Bref j'ai passé la journée là dessus...