IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

La methode paste de la classe worksheet a échoué


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé Avatar de jean-paul lepetit
    Inscrit en
    Février 2005
    Messages
    842
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations forums :
    Inscription : Février 2005
    Messages : 842
    Points : 919
    Points
    919
    Par défaut La methode paste de la classe worksheet a échoué
    Salut à tous,

    Une petite question toute bête :
    j'enregistre une macro faisant du copier coller ça marche.
    je modifie cette macro pour avant de copier faire une recherche de valeur et là j'ai le message "La methode paste de la classe worksheet a échoué"

    Je vois pas ou ça coince....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Macro1()
       Range("b1:b5000").Select
        Dim vCellule As Object
        For Each vCellule In Selection
            If vCellule.Value = Range("b2") Then       
                vCellule.EntireRow.Copy
                Application.CutCopyMode = False
                Range("a3").Select
                ActiveSheet.Paste
            End If
        Next  
    End Sub

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            If vCellule.Value = Range("b2") Then       
                vCellule.EntireRow.Copy destination:=Range("a3")
            End If

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    salut quand ça coince, fait-la en pas-à-pas
    Déjà, mettre Dim en entrée de macro, et pas au milieu
    Dim VCellule as Range serait pas mal, mais ...

    Dim vCellule As range
    vCellule est une plage de cellule (ou 1 seule)
    Range("b1:b5000").Select
    B1 à B5000 sélectionnés
    For Each vCellule In Selection
    Pour chaque cellule de la sélection 1er passage vCellule = B1
    If vCellule.Value = Range("b2") Then
    si B1=B2 (on va dire Vrai)
    vCellule.EntireRow.Copy
    copier la ligne 1
    'Application.CutCopyMode = False
    supprime le mode copie => donc t'as rien à coller => donc Paste déclenche une erreur
    Range("a3").Select
    sélectionner A3
    ActiveSheet.Paste
    coller ligne 1 sur A3
    End If
    Next
    cellule suivante sur la sélection qui est A3 On a finit, on sort de la boucle each
    Edit : à priori, il a sauvé la première sélection et il contibue, mais il copie toujours sur la ligne 3 qui aura la valeur de la dernière ligne dont la cellule N sera égale à B2

    Si tu disais ce que tu essaies de faire, sinon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim X as long
    For X=5000 to 1 step -1
    if range("B" & X)=range("B2") then
    Roxs(X).copy Rows(3)
    exit for
    end if
    next x
    donnera le même rendu en nettement plus rapide
    A+

  4. #4
    Membre éprouvé Avatar de jean-paul lepetit
    Inscrit en
    Février 2005
    Messages
    842
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations forums :
    Inscription : Février 2005
    Messages : 842
    Points : 919
    Points
    919
    Par défaut
    Merci ousk'el'nor,
    je me débrouille mieux dans Access que dans Excel....

    Merci aussi a Gorfael,
    a l'exécution pas a pas ça bloquait sur

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Salut
    Regarde la ligne en rouge dans mon poste précédent
    mets une apostrophe (snas Bernard Pivot) devant pour la passer en commentaire et testes

    Et si tu débrouilles mieux sur les code Access, tu pourrais me dire comment ouvrir un recordset avec comme contenu une table (sans passer par SQL). Avant j'utilisai ;
    Set Ma_Table = CurrentDb.openrecordset("Table", DbOpenDynaset)
    mais maintenant, Access Boude

    A+

  6. #6
    Membre éprouvé Avatar de jean-paul lepetit
    Inscrit en
    Février 2005
    Messages
    842
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations forums :
    Inscription : Février 2005
    Messages : 842
    Points : 919
    Points
    919
    Par défaut
    Va voir dans outils, références, il doit te manquer DAO3.x ,
    ou alors il est trop bas dans la liste, il doit être en 3eme position

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur 1004 : la methode Paste de la classe Worksheet a échoué
    Par jambonland dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 26/08/2013, 10h29
  2. [XL-2007] Erreur 1004 : la methode Paste de la classe Worksheet a échoué
    Par bricko dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 07/06/2013, 01h53
  3. [XL-2010] La méthode Paste de la classe Worksheet a échoué
    Par FK_1509 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 29/04/2013, 10h01
  4. Réponses: 14
    Dernier message: 19/12/2007, 17h58
  5. Méthode Paste de la classe Worksheet a échoué
    Par cerberuspau dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 03/06/2007, 12h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo