Microsoft 365 VBA erreur impossible de lire la propriete pastespecial de la classe range

Catsnroses

XLDnaute Nouveau
Bonjour à tous,

je viens vous demander votre aide. J'ai un code vba qui me permet de copier/coller des données d'une feuille à une autre du même classeur. Le problème c'est que sur une colonne, cela me copie la formule mais je veux que cela ne copie que les valeurs présentes. J'ai essayé de modifier mon code mais cela ressort en erreur (voir l'intitulé de mon poste). Sauriez-vous ce que je dois changer pour que cela fonctionne ? Le bug a lieu sur la dernière ligne .range("S2...)

Voici mon code :
VB:
 With Sheets("export")
    .Range("B2:B" & .Cells(.Rows.Count, "B").End(xlUp).Row).Copy Sheets("matrice").[C19]
    .Range("F2:F" & .Cells(.Rows.Count, "F").End(xlUp).Row).Copy Sheets("matrice").[B19]
    .Range("N2:N" & .Cells(.Rows.Count, "N").End(xlUp).Row).Copy Sheets("matrice").[F19]
    .Range("D2:D" & .Cells(.Rows.Count, "D").End(xlUp).Row).Copy Sheets("matrice").[D19]
    .Range("M2:M" & .Cells(.Rows.Count, "M").End(xlUp).Row).Copy Sheets("matrice").[E19]
    .Range("S2:S" & .Cells(.Rows.Count, "S").End(xlUp).Row).Copy Sheets("matrice").[G19].PasteSpecial(xlPasteValues)


Merci par avance et belle journée ensoleillée
 

job75

XLDnaute Barbatruc
Bonjour Catsnroses,

PasteSpecial doit être sur une nouvelle ligne de code :
VB:
With Sheets("export")
    .Range("B2:B" & .Cells(.Rows.Count, "B").End(xlUp).Row).Copy
    Sheets("matrice").[C19].PasteSpecial xlPasteValues
    .Range("F2:F" & .Cells(.Rows.Count, "F").End(xlUp).Row).Copy
    Sheets("matrice").[B19].PasteSpecial xlPasteValues
    .Range("N2:N" & .Cells(.Rows.Count, "N").End(xlUp).Row).Copy
    Sheets("matrice").[F19].PasteSpecial xlPasteValues
    .Range("D2:D" & .Cells(.Rows.Count, "D").End(xlUp).Row).Copy
    Sheets("matrice").[D19].PasteSpecial xlPasteValues
    .Range("M2:M" & .Cells(.Rows.Count, "M").End(xlUp).Row).Copy
    Sheets("matrice").[E19].PasteSpecial xlPasteValues
    .Range("S2:S" & .Cells(.Rows.Count, "S").End(xlUp).Row).Copy
    Sheets("matrice").[G19].PasteSpecial xlPasteValues
End With
Application.CutCopyMode = 0
A+
 

Catsnroses

XLDnaute Nouveau
Bonjour Catsnroses,

PasteSpecial doit être sur une nouvelle ligne de code :
VB:
With Sheets("export")
    .Range("B2:B" & .Cells(.Rows.Count, "B").End(xlUp).Row).Copy
    Sheets("matrice").[C19].PasteSpecial xlPasteValues
    .Range("F2:F" & .Cells(.Rows.Count, "F").End(xlUp).Row).Copy
    Sheets("matrice").[B19].PasteSpecial xlPasteValues
    .Range("N2:N" & .Cells(.Rows.Count, "N").End(xlUp).Row).Copy
    Sheets("matrice").[F19].PasteSpecial xlPasteValues
    .Range("D2:D" & .Cells(.Rows.Count, "D").End(xlUp).Row).Copy
    Sheets("matrice").[D19].PasteSpecial xlPasteValues
    .Range("M2:M" & .Cells(.Rows.Count, "M").End(xlUp).Row).Copy
    Sheets("matrice").[E19].PasteSpecial xlPasteValues
    .Range("S2:S" & .Cells(.Rows.Count, "S").End(xlUp).Row).Copy
    Sheets("matrice").[G19].PasteSpecial xlPasteValues
End With
Application.CutCopyMode = 0
A+
bonjour Job75,
un énorme merci, je bloquais sur quelque chose de si simple....
je te souhaites une excellent journée.
 

Statistiques des forums

Discussions
312 176
Messages
2 085 959
Membres
103 061
dernier inscrit
Zebor