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 :

Erreur Macro Coller [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Expert en assurance
    Inscrit en
    Août 2012
    Messages
    55
    Détails du profil
    Informations professionnelles :
    Activité : Expert en assurance
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2012
    Messages : 55
    Par défaut Erreur Macro Coller
    Bonjour,

    je reviens à nouveau vers vous concernant un obstacle que je rencontre dans ma quête VBA.

    J'ai mis en place une formule coller que vous trouverez ci dessous, celle ci fonctionne à merveille la première foi, mais si on relance la macro, la fonction .past plante et je ne m'explique pas pourquoi.

    Des idées, des intox et même des solutions seraient les bienvenues !!

    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
    Private Sub CommandButton1_Click()
     
    On Error GoTo errorHandler
     
    Feuil1.Unprotect 
     
        Range("A34:H53").Select
        ActiveSheet.Paste
     
    Feuil1.Protect 
     
    Exit Sub
     
    errorHandler:
        Userform1.Show
        Feuil1.Protect 
     
    End Sub
    Cordialement.

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour
    Tu veux copier quelle plage de quelle feuille et tu veux la coller où?

  3. #3
    Membre confirmé
    Expert en assurance
    Inscrit en
    Août 2012
    Messages
    55
    Détails du profil
    Informations professionnelles :
    Activité : Expert en assurance
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2012
    Messages : 55
    Par défaut
    Bonjour,

    Alors la plage copiée est située sur le classeur 1, ("A37:H56") et la place sur laquelle va se copier les cellules dans le classeur 2 est : ("A34:H53").

    Sachant que sur le classeur 1 j'ai une macro copier qui fonction sans souci.

    En espérant t'avoir apporté les renseignements dont tu as besoin.

    Cordialement.

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Tu parles de 2 classeurs donc.
    Tu veux copier la plage A37:H56 de la feuille X de classeur1 vers A37:H56 de la feuille Y de classeur2. C'est bien ça?

    Quel est le classeur qui contient la macro? et comment est ouvert l'autre Classeur? (par macro ou manuellement par l'utilisateur?)

  5. #5
    Membre confirmé
    Expert en assurance
    Inscrit en
    Août 2012
    Messages
    55
    Détails du profil
    Informations professionnelles :
    Activité : Expert en assurance
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2012
    Messages : 55
    Par défaut
    Bonjour et merci à tous pour l'interet que vous avez pour mon post.

    La macro se trouve sur le classeur 2 Feuille Y. Le Classeur 1 est ouvert manuellement et la zone à copier est également copiée manuellement.

    Enfin en bidouillant un peu j'ai peut être trouvé une piste,

    J'ai déverrouillé le classeur et enlevé les lignes Unprotect et protect de la macro => plus de souci. (Maintenant il faut que je trouve un moyen pour que ça fonctionne le tout en mode protégé)

    Je me demande si la macro à le temps de s'exécuter correctement avant de reprotéger la feuille Y du classeur 2.

    Qu'en pensez vous ?

    Cordialement.

  6. #6
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Quel est l’intérêt de faire tout en manuelle sauf le collage?

    Ci-joint code à adapter qui fait les étapes suivante (code à mettre dans Classeur2)
    1. vérifie l'existence de Classeur1
    2. Si oui, il l'ouvre
    3. déprotège la feuille X de classeur1
    4. Copie A37:H56 de feuille Y de classeur2 vers A37:H56 de feuille X de classeur1
    5. protège la feuille X de classeur1
    6. Enregistre et ferme classeur1
    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
    Sub Transfer()
    Dim Wbk As Workbook
    Dim Chemin As String, Fichier As String
     
    Application.ScreenUpdating = False
    Chemin = "C:\Documents and Settings\Administrateur\Bureau\"    'Chemin vers ton fichier où coller à adapter !!!n'oublies par l'anti slash à la fin
    Fichier = "Classeur1.xls"                        'Nom du classeur 1 à adapter
    'On vérifie l'existence de Classeur1
    If Dir(Chemin & Fichier) <> "" Then
        'Si il existe, on l'ouvre (et sera contenu dans la variable objet workbook Wbk
        Set Wbk = Workbooks.Open(Chemin & Fichier)
        With Wbk.Worksheets("X")
            'On déprotège la feuille X de Classeur1
            .Unprotect
            'On copie la plage A37:H56 de la feuille Y de Classeur 2 vers la plage A37:H56 de la feuille X de classeur X
            ThisWorkbook.Worksheets("Y").Range("A37:H56").Copy .Range("A37")
            'On protège la feuille X de Classeur1
            .Protect
        End With
        'On ferme Classeur1 en sauvegardant au préalable
        Wbk.Close True
        Set Wbk = Nothing
    End If
    End Sub

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

Discussions similaires

  1. [Macro] Erreur macro sas
    Par bibette dans le forum Macro
    Réponses: 2
    Dernier message: 07/07/2008, 22h04
  2. Erreur macro variable
    Par chrystelle78 dans le forum Macro
    Réponses: 2
    Dernier message: 18/04/2008, 16h37
  3. Excel VBA > Message d'erreur " Macro desactivés "
    Par alec-- dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 14/06/2007, 13h58
  4. [VBA-E]contenu d'une cellule gestion erreur macro
    Par matou_aouh dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/03/2006, 10h18
  5. [Dev-Cpp] Erreur "Macro Names Must be Identifiers"
    Par TheRedLed dans le forum Dev-C++
    Réponses: 6
    Dernier message: 07/06/2005, 20h12

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