Correction code VBA (copier coller !)

Bonsoir,

La première ligne de mon code affiche un message d'erreur quand je la lance :

Cette erreur varie selon la manière dont j'écris cette première ligne :

Sheets("CSV").Range("A1:AU110").Copy Sheets("Traitement").Range("A1:AU110").Paste

Donne ce message d'erreur : "Erreur d'exécution '438': Propriété ou méthode non gérée par cet objet"

'ThisWorkbook.Sheets("CSV").Range("A1:AU110").Copy ThisWorkbook.Sheets("Traitement").Range("A1:AU110")

Donne ce message d'erreur : "Erreur d'exécution '429': Un composant ActiveX ne peut pas créer l'objet"

Voici la partie du code qui pose problème :

Private Sub CommandButton1_Click()

    Sheets("CSV").Range("A1:AU110").Copy 
    Sheets("Traitement").Range("A1:AU110").Paste

    Sheets("Traitement").Range("$A$1:$AU$30").RemoveDuplicates Columns:=34, Header:=xlYes

        Range("$AS$2:$AS$100").ClearContents

        Range("AS2:AS110").FormulaR1C1 = _
         "=IF(SUMIF(CSV!R2C34:R110C34,Traitement!RC[-11],CSV!R2C45:R110C45)=0,"""",SUMIF(CSV!R2C34:R110C34,Traitement!RC[-11],CSV!R2C45:R110C45))"

        Range("A2:K20").Sort Key1:=Range("K2:K110"), Order1:=xlAscending, Header:=xlYes, Orientation:=xlTopToBottom
End Sub

Seule la première ligne pose un souci, mais si vous avez des modifications à proposer pour le reste n'hésitez pas.

Le but de ce morceau de code est de copier les valeur d'une feuille nommée "CSV", dans une feuille nommée "Traitement" lorsque l'on clique sur un bouton ! Le reste se fait très bien, mais le copier-collage se fait pas.

Si je demande à coller directement dans la feuille "Traitement", sans donner de "Range", il me colle le tableau n'importe où...

Merci,

Bonne soirée !

Bonjour,

tes 2 feuilles existent bien et sont dans le même classeur ? Le csv n'est pas dans un autre ?

Si oui il faut l'indiquer : Workbooks("toto").Sheets("CSV")...

Sinon, comme tu n'as pas besoin de la mise en forme fait simplement :

Sheets("Traitement").Range("A1:AU110").Value = Sheets("CSV").Range("A1:AU110")

eric

Merci, ça marche très bien et tout le reste s’enchaîne comme souhaité !

Il a fallu que je rajoute .value à la fin.

Sheets("Traitement").Range("A1:AU110").Value = Sheets("CSV").Range("A1:AU110").Value

Bonne soirée !

Rechercher des sujets similaires à "correction code vba copier coller"