Vba coller en mode spécial valeurs

Résolu/Fermé
AstraLife Messages postés 98 Date d'inscription lundi 2 octobre 2017 Statut Membre Dernière intervention 1 juillet 2019 - Modifié le 7 sept. 2018 à 10:13
AstraLife Messages postés 98 Date d'inscription lundi 2 octobre 2017 Statut Membre Dernière intervention 1 juillet 2019 - 7 sept. 2018 à 11:28
Bonjour,

J'ai un code qui me colle toutes mes lignes mais avec la mise en forme, formule...

Je souhaite le type spécial "Valeurs" :

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False



mais je n'arrive pas à l'incruster dans la ligne de code ci dessous :

With Sheets("Export")
 .Range("A2:Q" & .Range("A65536").End(xlUp).Row).Copy Sheets("Traitement").Range("A65536").End(xlUp).Offset(1, 0)
End With


A voir également:

1 réponse

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
Modifié le 7 sept. 2018 à 10:50
Bonjour,

une facon de faire:

Sub test()
    Dim Table As Range
    
    With Sheets("Export")
        Set Table = .Range("A2:Q" & .Range("A65536").End(xlUp).Row)     'mise en memoire cellules a copier
        With Sheets("Traitement")
            L = .Range("A65536").End(xlUp).Row + 1      'premier cellule vide colonne A
            .Range("A" & L).Resize(Table.Rows.Count, 17) = Table.Value      ' "copie" table memoire dans la feuille
        End With
    End With
End Sub
0
AstraLife Messages postés 98 Date d'inscription lundi 2 octobre 2017 Statut Membre Dernière intervention 1 juillet 2019
Modifié le 7 sept. 2018 à 11:08
Bonjour,

Merci

Juste un petit problème, j'ai une erreur sur la ligne

L = .Range("A65536").End(xlUp).Row + 1      'premier cellule vide colonne A


Variable non définie

Mon code en entier

Option Explicit 'Oblige la déclaration des Variables

Sub Sup_Lig()
Dim dlig As Long, i As Long ' Declare la variable Dlig


Application.ScreenUpdating = False 'Empeche le rafraichissement de l'écran
dlig = Sheets("Export").Range("R" & Rows.Count).End(xlUp).Row ' Recherche la Dernière LIGne de la Colonne R

For i = dlig To 2 Step -1 ' Boucle sur les lignes de la Dernière trouvée a la ligne n°2
    
    If Cells(i, 20) > 1 Then Rows(i).EntireRow.Delete 'si La cellule est supérieure à 1 alors on supprime la ligne

Next i 'Prochaine Ligne

Sheets("Traitement").Select

Range("A2:T1000").Select
    Selection.ClearContents

Dim Table As Range
With Sheets("Export")
        Set Table = .Range("A2:Q" & .Range("A65536").End(xlUp).Row)     'mise en memoire cellules a copier
        With Sheets("Traitement")
            L = .Range("A65536").End(xlUp).Row + 1      'premier cellule vide colonne A
            .Range("A" & L).Resize(Table.Rows.Count, 17) = Table.Value      ' "copie" table memoire dans la feuille
        End With
    End With

ActiveWorkbook.Save

Application.ScreenUpdating = True 'Remet la rafraichissement de l'écran

End Sub
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
7 sept. 2018 à 11:16
Re,

Variable non définie
Ben definissez la!!!!!!!!!!!!!!!
0
AstraLife Messages postés 98 Date d'inscription lundi 2 octobre 2017 Statut Membre Dernière intervention 1 juillet 2019 > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
7 sept. 2018 à 11:28
Ok, c'est fait, nickel, merci beaucoup.


[/contents/446-fichier-sub Sub] Sup_Lig()
Dim dlig As Long, i As Long ' Declare la variable Dlig


Application.ScreenUpdating = False 'Empeche le rafraichissement de l'écran
dlig = Sheets("Export").Range("R" & Rows.Count).End(xlUp).Row ' Recherche la Dernière LIGne de la Colonne R

For i = dlig To 2 Step -1 ' Boucle sur les lignes de la Dernière trouvée a la ligne n°2
    
    If Cells(i, 20) > 1 Then Rows(i).EntireRow.Delete 'si La cellule est supérieure à 1 alors on supprime la ligne

Next i 'Prochaine Ligne

Sheets("Traitement").Select

Range("A2:T1000").Select
    Selection.ClearContents

Dim Table As Range, L As Long
With Sheets("Export")
        Set Table = .Range("A2:Q" & .Range("A65536").End(xlUp).Row)     'mise en memoire cellules a copier
        With Sheets("Traitement")
            L = .Range("A65536").End(xlUp).Row + 1      'premier cellule vide colonne A
            .Range("A" & L).Resize(Table.Rows.Count, 17) = Table.Value      ' "copie" table memoire dans la feuille
        End With
    End With

ActiveWorkbook.Save

Application.ScreenUpdating = True 'Remet la rafraichissement de l'écran

End Sub
0