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 :

(Excel 2016 Mac) Problème copier coller avec lien en VBA - faible occurrence


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Formation à l'innovation sociale
    Inscrit en
    Février 2017
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation à l'innovation sociale

    Informations forums :
    Inscription : Février 2017
    Messages : 30
    Par défaut (Excel 2016 Mac) Problème copier coller avec lien en VBA - faible occurrence
    Bonjour,

    Je me permets de vous solliciter car j'ai un problème sur un projet en VBA assez bête en apparence mais que je n'arrive pas du tout à résoudre.

    J'ai donc plusieurs classeurs reliés entre eux, et une partie du code fait une copie de l'un vers l'autre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    'Copie de la ligne d'infos depuis la fiche
    Workbooks(Fichier & "_" & Format(Date, "dd-mm-yyyy", vbMonday) & ".xlsm").Activate
    Workbooks(Fichier & "_" & Format(Date, "dd-mm-yyyy", vbMonday) & ".xlsm").Worksheets("Fiche").Range("A123:Q123").Copy
    'Ouverture + dévérouillage de la BDD
    Workbooks.Open Filename:=cheminbis & "BDD - Fiches KM.xlsm"
    Workbooks("BDD - Fiches KM.xlsm").Worksheets("Database").Unprotect Password:="password"
    'Collage de la ligne d'infos dans la BDD
    Workbooks("BDD - Fiches KM.xlsm").Worksheets("Database").Activate
    Workbooks("BDD - Fiches KM.xlsm").Worksheets("Database").Range("A3").End(xlDown).Offset(1, 0).Select
    Workbooks("BDD - Fiches KM.xlsm").Worksheets("Database").Paste Link:=True
    À priori pas de soucis, et d'ailleurs ça marche plutôt bien.

    Seulement une fois sur cinq (environ), j'obtiens le message "erreur d'exécution 1004 la méthode paste de la classe worksheet a échoué" avec la dernière ligne du code ci-dessus surlignée.

    Je ne comprends vraiment pas puisque cela fonctionne dans la majeure partie des cas et que je n'ai vraiment pas réussi à identifier un cas où l'erreur apparaitrait tout le temps. Même dans deux cas strictement identiques (mêmes informations etc) parfois ça passe, parfois non.

    Auriez-vous une idée ?

    Merci d'avance,
    Arthur

  2. #2
    Expert éminent
    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
    Par défaut

    Bonjour,

    tenter déjà la copie directe en une instruction en indiquant la destination comme dans l'aide VBA de Range.Copy

    ___________________________________________________________________________________________________________
    Je suis Paris, Barcelone, London, Manchester, Egypte, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

  3. #3
    Membre averti
    Homme Profil pro
    Formation à l'innovation sociale
    Inscrit en
    Février 2017
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation à l'innovation sociale

    Informations forums :
    Inscription : Février 2017
    Messages : 30
    Par défaut
    Bonjour Marc,

    En suivant ton conseil, j'ai décomposé chaque action pour voir où est-ce que ça plantait.
    Je suis débutant et je n'avais pas eu le réflexe de fonctionner comme ça.

    Je me suis finalement rendu compte que c'était le "unprotect" qui faisait perdre la sélection (seulement de temps en temps, ça reste un mystère) . J'ai donc réordonné mon code pour enlever la protection avant de commencer la copie.

    à bientot

  4. #4
    Expert éminent
    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
    Par défaut




    La sélection étant inutile, avec juste une copie directe en une unique ligne de code …

  5. #5
    Membre averti
    Homme Profil pro
    Formation à l'innovation sociale
    Inscrit en
    Février 2017
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation à l'innovation sociale

    Informations forums :
    Inscription : Février 2017
    Messages : 30
    Par défaut
    Citation Envoyé par Marc-L Voir le message

    La sélection étant inutile, avec juste une copie directe en une unique ligne de code …
    Bonjour Marc, ça peut paraître idiot mais je ne connais pas le code pour faire ça en une ligne.. Je sais seulement selectionner, copier, puis coller.
    T'as pas juste un mini exemple que j'adapterai ?

    Merci!

  6. #6
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    exemple à adapter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("Fichier1").Worksheets("LaFeuille1").Range("A1").Copy Workbooks("Fichier2").Worksheets("LaFeuille2").Range("A1")

Discussions similaires

  1. Réponses: 6
    Dernier message: 15/06/2016, 15h29
  2. Copier/coller avec liaison en VBA
    Par aurelu dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/05/2016, 15h21
  3. [XL-2003] Problème copier coller avec MFC et VBA
    Par bbcancer dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 28/11/2011, 10h11
  4. [WD-2007] Copier / coller avec liaison d'excel à word
    Par eppo81 dans le forum Word
    Réponses: 1
    Dernier message: 21/02/2010, 12h34
  5. copier coller avec Pastespecial en VBA
    Par stormless dans le forum Général VBA
    Réponses: 1
    Dernier message: 06/11/2005, 11h59

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