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 :

Problème de copier coller en VBA


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2014
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Problème de copier coller en VBA
    bonjour,

    je suis face a un problème de copier coller coller entre deux classeur en VBA.
    je met les deux fichier en pièce jointe.

    le but est de copier les ligne de chaque feuille du fichier suivi action qui on un trigramme PGR vers le fichier outil de synthèse.

    la copie fonctionne mes par moment me retourne une erreur 1004
    une âme charitable pourrait elle m'aider.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    si tu utilise des select, selection et autre activate tu vas droit dans le mur!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ThisWorkbook.Sheets(Feuillelocal).Select
                Cells(Colle, 1).Select
                ActiveSheet.PasteSpecial Paste:=xlValue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.Sheets(Feuillelocal).Cells(Colle, 1).PasteSpecial Paste:=xlValue

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2014
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour Rdurupt,

    dans mes premier test j'utilisait votre solution mais il y avait toujours cette erreur donc j'ai tester autre chose mais cela ne fonctionne pas non plus.

    du coup j'ai essayer de vider le presse papier avant l’ouverture des fichiers et ça a l'air de fonctionner pour le moment, mais je vais continuer de tester on ne sait jamais.

    merci quand même

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2014
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    finalement mon problème n'est pas du tout résolu.

    j'ai les message d'erreur suivant sur les commande de copier coller:

    - 1004 la méthode 'range' de l'objet '_worksheet' a échoué.
    - 1004 la méthode pastespecial de la classe Range a échoué.
    - le presse-papier contient une grande quantité d'info. voulez-vous avoir la possibilité de coller ces information dans un autre document ultérieurement.

    et quand j’enlève la ligne pour la gestion des erreur j'ai le message suivant:

    - erreur d’exécution 1004 erreur définie par l'application ou par l'objet.

    voici le code qui pose problème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    Private Sub ExtraireValeur(Fichier As String, Feuille As String, Feuillelocal As String, Col As String, Trig As String, Coltest1 As String, Coltest2 As String, depart As Long, Nomfichier As String)
     
    Dim appxl As Excel.Application
    Set appxl = CreateObject("Excel.application")
    Dim Myfile As Window
    Dim Destination As Workbook
    Dim Currentsheet As Worksheet
    Dim c As Range
    Dim Row As String
    Dim Test1 As String
    Dim Test2 As String
    Dim DernCol As Integer
    Dim Ligne As Integer
    Dim X As Long
    Dim Tableau() As String
    Dim I As Integer
    Dim J As Integer
    Dim Praddress As String
    Dim Nbligne As Long
    Dim Proc As String
    Dim Test As Integer
    Dim Colle As Long
     
     
    'On Error GoTo errorHandler
     
    ThisWorkbook.Sheets(Feuillelocal).Select
    Application.ScreenUpdating = False
    'Set Destination = ThisWorkbook
    With appxl
        .Workbooks.Open Fichier
        .Visible = False
    End With
     
    Set Myfile = appxl.Windows(Nomfichier)
    Set Currentsheet = appxl.Sheets(Feuille)
    'traitement sur le trigramme
    Trig = Replace(Trig, " ", "")
    X = InStr(Trig, "/")
    If X <> 0 Then
        Tableau = Split(Trig, "/")
    Else
        ReDim Tableau(0)
        Tableau(0) = Trig
    End If
    'copier coller d'un classeur a l'autre
    I = 0
    J = depart
    Colle = depart
    Nbligne = Currentsheet.Range(Col & Rows.Count).End(xlUp).Row
    While J <= Nbligne
        Proc = Currentsheet.Cells(J, Col).Value
     
        For I = 0 To UBound(Tableau)
            Test = InStr(1, Proc, Tableau(I), 1)
            If Proc = Tableau(I) Or Test <> 0 Then
                Currentsheet.Rows(J).Copy
                ThisWorkbook.Sheets(Feuillelocal).Range("A" & Colle).PasteSpecial Paste:=xlPasteFormats
                Myfile.Application.CutCopyMode = False
                ThisWorkbook.Application.CutCopyMode = False
                Vider_Presse_Papier
                Colle = Colle + 1
            End If
        Next I
        J = J + 1
    Wend
    ThisWorkbook.Save
    Application.ScreenUpdating = True
    appxl.Workbooks(Nomfichier).Close SaveChanges:=False
    Vider_Presse_Papier
    Exit Sub
     
    errorHandler:
        'indique le numéro et la description de l'erreur survenue
        Vider_Presse_Papier
        appxl.Workbooks(Nomfichier).Close SaveChanges:=False
        MsgBox Err.Number & vbLf & Err.Description
     
    End Sub
    perso je ne vois pas le problème. Je ne peu pas dire que le code ne fonctionne pas car il colle bien certaine ligne mais de temps en temps ça bug, Je suis perdu sur ce coup. moi qui pensait que le copier coller était assez basic à faire.
    en tout cas merci a ceux qui m'aideront.

  5. #5
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut


    Bonjour, bonjour !

    Ligne n°4 : à quoi cela peut bien servir d'ouvrir une autre instance d'Excel
    à part justement de gâcher inutilement des ressources et se retrouver face à ce genre de problème ?‼

    Redémarrer l'ordinateur, ouvrir Excel, activer le Générateur de macros
    puis effectuer un copier / coller manuel : une base de code est livrée sur un plateau !


    __________________________________________________________________________________________________
    Tous unis, tous Charlie
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2014
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour marc

    J'appel une nouvelle Application car je doit ouvrir un fichier avec plusieurs onglet pour faire mes copier coller.

    Mon problème Je pense Se situe au niveau du presse papier que je n'arrive pas a vider.

    Je suis sous excel 2010.

    Après je ne suis peut-être pas obliger d'ouvrir une nouvelle application pour ouvrir un nouveau fichier mais je ne me suis pas poser la question pour le moment ce n'est pas mon problème principal.

    Donc si tu as une idée. Pour le presse papier je suis preneur.

    Cordialement

  7. #7
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Ce que je ne vois pas, c'est le code pour vider le presse-papier. Ceci dit, c'est une affaire de rien que de mettre 2 ou 3 items dans le presse-papiers d'Office et d'enregistrer une macro, en faisant le vidage manuel du presse-papiers.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  8. #8
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.CutCopyMode = False
    ?

  9. #9
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut
    Citation Envoyé par canounours Voir le message
    J'appel une nouvelle Application car je doit ouvrir un fichier avec plusieurs onglet pour faire mes copier coller.
    Encore une fois, c'est totalement inutile !

    Peut - et doit - s'effectuer directement dans l'Excel déjà ouvert …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  10. #10
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2014
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour à tous ceux qui essai de m'aider merci beaucoup.

    Premièrement désoler pour le temps de réponse je n'était pas dispo en début de semaine.

    pour info :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.CutCopyMode = False
    ne vide pas le presse papier il ne fait que annulé la commande copier.

    pour vider le presse papier j'utilise le code suivant qui ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Sub Vider_Presse_Papier()
        OpenClipboard 0
        EmptyClipboard
        CloseClipboard
    End Sub
    deuxièmement

    Citation Envoyé par canounours Voir le message
    J'appel une nouvelle Application car je doit ouvrir un fichier avec plusieurs onglet pour faire mes copier coller.
    Encore une fois, c'est totalement inutile !

    Peut - et doit - s'effectuer directement dans l'Excel déjà ouvert …
    je suis navré marc que ça te donne des boutons je vais corriger ça de suite.

    cependant le nombre de ligne que je doit copier et coller d'un classeur a l'autre est grande et donc si je ne vide pas le presse papier a un moment il me dit qu'il est plein et donc me donne une erreur.

    c'est pourquoi je cherche un méthode pour le vider.

    en tout cas merci a tous.

  11. #11
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Bonjour,

    Tu n'aurais pas de problème de presse-papier en utilisant la même instance d'Excel.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

Discussions similaires

  1. [XL-2010] problème de copier coller en vba
    Par retulo dans le forum Excel
    Réponses: 6
    Dernier message: 23/06/2015, 20h39
  2. Problème de copier coller en vba à partir d'excel
    Par Psycho185 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/06/2011, 13h47
  3. Problème de copier/coller de valeur VBA
    Par astridlet dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/12/2010, 11h31
  4. Problème de copier coller macro VBA
    Par Piernod dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 16/11/2009, 18h56
  5. probléme de copier/coller
    Par lindette dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/10/2007, 14h39

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