XL 2016 Copier/Coller valeurs Erreur 1004

isataz

XLDnaute Nouveau
Bonjour à tous,

Serait-il possible de m'aider à améliorer le code ci-dessous pour que je puisse coller les valeurs plutôt qu'un coller simple?
La range que je copie est à base de RechercheV sur la colonne D que je ne veux pas copier.

J'ai essayé de rajouter .PasteSpecial(xlPasteValues) un peu partout, mais j'ai toujours la même erreur. (unable to get the pastespecial property of the range class)

VB:
Sub DEL(ligne As Integer)
Application.EnableEvents = False 'on désactive les évènements
Application.ScreenUpdating = False 'on désactive le rafraichissement des feuilles
With ActiveSheet
    Set BlocSuivant = .Range("A" & ligne & ":B65536").Find(.Name, lookat:=xlPart) 'recherche de la prochaine ligne de colonne B qui contient le nom de la feuille
    If Not BlocSuivant Is Nothing Then 'si il y a quelque chose
        If BlocSuivant.Row = ligne Then 'si on retrouve le bloc en cours (==on est sur le dernier bloc
            fin = .UsedRange.Rows.Count + 5 'on met la dernière ligne de la feuille
        Else
            fin = BlocSuivant.Row - 2 'sinon on récupère la ligne -2 pour remonter dans le bloc en cours
        End If
          
        .Range("F" & ligne & ":I" & fin).COPY Destination:=Sheets("DELETE").Range("A" & .Rows.Count).End(xlUp).Offset(1, 0)  'on copie colle
        Application.CutCopyMode = False
        .Range("U" & ligne) = "Supprimé"
     End If
End With
Application.EnableEvents = True 'on réactive
Application.ScreenUpdating = True
End Sub
Merci beaucoup par avance !
 

Jacky67

XLDnaute Accro
Bonjour à tous,

Serait-il possible de m'aider à améliorer le code ci-dessous pour que je puisse coller les valeurs plutôt qu'un coller simple?
La range que je copie est à base de RechercheV sur la colonne D que je ne veux pas copier.

J'ai essayé de rajouter .PasteSpecial(xlPasteValues) un peu partout, mais j'ai toujours la même erreur. (unable to get the pastespecial property of the range class)

VB:
Sub DEL(ligne As Integer)
Application.EnableEvents = False 'on désactive les évènements
Application.ScreenUpdating = False 'on désactive le rafraichissement des feuilles
With ActiveSheet
    Set BlocSuivant = .Range("A" & ligne & ":B65536").Find(.Name, lookat:=xlPart) 'recherche de la prochaine ligne de colonne B qui contient le nom de la feuille
    If Not BlocSuivant Is Nothing Then 'si il y a quelque chose
        If BlocSuivant.Row = ligne Then 'si on retrouve le bloc en cours (==on est sur le dernier bloc
            fin = .UsedRange.Rows.Count + 5 'on met la dernière ligne de la feuille
        Else
            fin = BlocSuivant.Row - 2 'sinon on récupère la ligne -2 pour remonter dans le bloc en cours
        End If
        
        .Range("F" & ligne & ":I" & fin).COPY Destination:=Sheets("DELETE").Range("A" & .Rows.Count).End(xlUp).Offset(1, 0)  'on copie colle
        Application.CutCopyMode = False
        .Range("U" & ligne) = "Supprimé"
     End If
End With
Application.EnableEvents = True 'on réactive
Application.ScreenUpdating = True
End Sub
Merci beaucoup par avance !
Bonjour ,
Sur deux lignes le copier/coller valeur
VB:
.Range("F" & ligne & ":I" & fin).Copy 'on copie
Sheets("DELETE").Range("A" & Rows.Count).End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteValues  'on  colle
**Non testé
 
Dernière édition:

isataz

XLDnaute Nouveau
Merci beaucoup Jacky, c'est nickel !!
Du coup j'ai une autre question... j'aimerais pouvoir faire un copier coller supplémentaire.
Dans le classeur joint, lorsque l'utilisateur clique sur supprimer, j'aimerais que pour le bloc concerné, les prix de la colonne K soient copiés vers la colonne O.
Je pars du principe que l'utilisateur va d'abord cliquer sur le copier de la colonne Y pour avoir une vue d'ensemble et ensuite choisira ce qu'il veut supprimer.

Merci encore pour le coup de main !
Isa
 

Fichiers joints

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas