copier coller valeur en gardant la mise en forme Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
J
Jawst
Membre habitué
Membre habitué
Messages : 69
Inscrit le : 25 avril 2016
Version d'Excel : 2013

Message par Jawst » 27 mai 2016, 15:52

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
Jawst
A
Atro
Membre fidèle
Membre fidèle
Messages : 294
Appréciations reçues : 2
Inscrit le : 15 octobre 2013
Version d'Excel : 2010 FR

Message par Atro » 27 mai 2016, 15:56

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.
Autodidacte.... je m'en sors pas mal mais les boucles... ça ne veut pas rentrer :oops:
J
Jawst
Membre habitué
Membre habitué
Messages : 69
Inscrit le : 25 avril 2016
Version d'Excel : 2013

Message par Jawst » 27 mai 2016, 16:00

Salut,

merci de ta réponse rapide mais je vois pas trop comment l'intégrer à mon code
Jawst
A
Atro
Membre fidèle
Membre fidèle
Messages : 294
Appréciations reçues : 2
Inscrit le : 15 octobre 2013
Version d'Excel : 2010 FR

Message par Atro » 27 mai 2016, 16:01

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
Classeur1.xlsm
(14.79 Kio) Téléchargé 179 fois
Modifié en dernier par Atro le 27 mai 2016, 16:05, modifié 1 fois.
Autodidacte.... je m'en sors pas mal mais les boucles... ça ne veut pas rentrer :oops:
J
Jawst
Membre habitué
Membre habitué
Messages : 69
Inscrit le : 25 avril 2016
Version d'Excel : 2013

Message par Jawst » 27 mai 2016, 16:04

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
Test macro.xlsm
(71.89 Kio) Téléchargé 154 fois
Modifié en dernier par Jawst le 27 mai 2016, 16:35, modifié 1 fois.
Jawst
A
Atro
Membre fidèle
Membre fidèle
Messages : 294
Appréciations reçues : 2
Inscrit le : 15 octobre 2013
Version d'Excel : 2010 FR

Message par Atro » 27 mai 2016, 16:08

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)
Autodidacte.... je m'en sors pas mal mais les boucles... ça ne veut pas rentrer :oops:
A
Atro
Membre fidèle
Membre fidèle
Messages : 294
Appréciations reçues : 2
Inscrit le : 15 octobre 2013
Version d'Excel : 2010 FR

Message par Atro » 30 mai 2016, 10:50

Pour répondre à ton MP.... faut le coller où ton tableau avec la mise en forme bien?
Autodidacte.... je m'en sors pas mal mais les boucles... ça ne veut pas rentrer :oops:
J
Jawst
Membre habitué
Membre habitué
Messages : 69
Inscrit le : 25 avril 2016
Version d'Excel : 2013

Message par Jawst » 30 mai 2016, 10:51

dans la page d'a coté qui s'appelle "extrait"
Jawst
A
Atro
Membre fidèle
Membre fidèle
Messages : 294
Appréciations reçues : 2
Inscrit le : 15 octobre 2013
Version d'Excel : 2010 FR

Message par Atro » 30 mai 2016, 11:03

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
Autodidacte.... je m'en sors pas mal mais les boucles... ça ne veut pas rentrer :oops:
J
Jawst
Membre habitué
Membre habitué
Messages : 69
Inscrit le : 25 avril 2016
Version d'Excel : 2013

Message par Jawst » 30 mai 2016, 11:16

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 :D
Jawst
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message