Copier coller valeur en gardant la mise en forme

Bonjour à tous,

j'ai un tableau avec des valeurs dedans que j'ai calculé, trouvé avec des recherchev ...

je voudrais copier ce tableau et le coller en ne gardant que les valeurs (sans les formules) et en gardant aussi la mise en forme

voila la macro qui me copier la page et me fais certaines modif dont j'ai besoin:

Sub cop_p()

Dim i As Integer, DernLigne As Integer

With Worksheets("extrait")

Worksheets("DATA").Range("A1:I100").Copy .Range("A1:I100")

DernLigne = .Range("A" & Rows.Count).End(xlUp).Row

.Range("T2:T" & DernLigne).Value = .Range("T2:T" & DernLigne).Value

.Range("D:E").delete

For i = DernLigne To 2 Step -1

If Year(.Cells(i, 1).Value) = 2014 Then .Rows(i).delete

If UCase(.Cells(i, 2).Value) = "IVECO" Then .Rows(i).delete

If .Cells(i, 3) <> 0 And .Cells(i, 3) <> "" Then .Rows(i).delete

Next i

End With

End Sub

Bonjour

Je ne sais pas si ça correspond :

Il faut d'abod copier la cellule que tu veux déplacer

genre avec Cells(1,1).copy si c'est A1 par exemple. Si tu aimes pas "Cells" met "Range"

with Cells(ta cellule ou ta variable DE DESTINATION)
        .PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
        .PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
end with

C'est ça que tu veux?

Je n'ai pas excel à porté de main donc peut-être que c'est foireux.

Salut,

merci de ta réponse rapide mais je vois pas trop comment l'intégrer à mon code

Joint un fichier, je regarde ça quand je rentre chez moi

edit : j'ai piqué le pc d'un collègue voilà pour illustrer un fichier

182classeur1.xlsm (14.79 Ko)

merci beaucoup

la macro s'appelle "cop_p"

tu dois l'activer dans la page "DATA"

fais pas trop gaffe à toutes les autres macros se sont des tests

160test-macro.xlsm (71.89 Ko)
Jawst a écrit :

merci beaucoup

la macro s'appelle "cop_p"

tu dois l'activer dans la page "DATA"

fais pas trop gaffe à toutes les autres macros se sont des tests

Ton fichier de mailing m'intéresse il y a moyen de savoir comment il fonctionne (genre avec gmail? outlook? autre?) je suis sur téléphone la ^^ (MP moi)

Pour répondre à ton MP.... faut le coller où ton tableau avec la mise en forme bien?

dans la page d'a coté qui s'appelle "extrait"

Je suis sur téléphone again donc pas pu tester mais je dirais ça :

   With Sheets("DATA")
    Cells.Copy
    End With
    With Sheets("extrait")
    Cells.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Cells.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        End With
    Dim i As Integer, DernLigne As Integer
    With Worksheets("extrait")
        DernLigne = .Range("A" & Rows.Count).End(xlUp).Row
        .Range("T2:T" & DernLigne).Value = .Range("T2:T" & DernLigne).Value
        .Range("D:E").delete
        For i = DernLigne To 2 Step -1
            If Year(.Cells(i, 1).Value) = 2014 Then .Rows(i).delete
            If UCase(.Cells(i, 2).Value) = "IVECO" Then .Rows(i).delete
            If .Cells(i, 3) <> 0 And .Cells(i, 3) <> "" Then .Rows(i).delete
        Next i
    End With

Après si j'ai pas relu ton code donc si il est faux ça ira pas, je t'ai juste intégré la copie du tableau avec formats et valeurs

merci beaucoup ca marchait pas mais j'ai juste modifier un petit truc et maintenant c'es nickel

j'ai mis "Worksheets("extrait").Select" au lieu de "with sheets ("extrait")"

Sub cop_page()
   With Sheets("DATA")
    Cells.Copy
    End With
    Worksheets("extrait").Select
    Cells.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Cells.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

    Dim i As Integer, DernLigne As Integer
    With Worksheets("extrait")
        DernLigne = .Range("A" & Rows.Count).End(xlUp).Row
        .Range("T2:T" & DernLigne).Value = .Range("T2:T" & DernLigne).Value
        .Range("D:E").delete
        For i = DernLigne To 2 Step -1
            If Year(.Cells(i, 1).Value) = 2014 Then .Rows(i).delete
            If UCase(.Cells(i, 2).Value) = "IVECO" Then .Rows(i).delete
            If .Cells(i, 3) <> 0 And .Cells(i, 3) <> "" Then .Rows(i).delete
        Next i
    End With
End Sub

merci

Pas de soucis, pour une fois que c'est moi qui commence a aider les autres ^^

Bonne journée

Rechercher des sujets similaires à "copier coller valeur gardant mise forme"