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 :

Macro copier coller dans cell active [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 6
    Par défaut Macro copier coller dans cell active
    Bonjour les amis

    Je souhaite créer une macro qui permet de copier des données dans fichier X
    exemple cell A1: B5 et les coller dans un fichier Y à l'endroit ou j'aurai cliqué au préalable.

    Quelqu'un sait-il comment faire

    J'ai essayé avec ce code, mais un message d'erreur de compilation apparait il indique utilisation incorrecte de la propriété



    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
    Sub Macro79()
    '
    ' Macro79 Macro
    '
     
    Dim dl
        Range("Q42:T51").Select
        Selection.ClearContents
        Windows("INJA01_SG_EN_COURS.xls").Activate
        'Range("B5:D9").Select remplacé par la ligne ci-dessous pour sélectionner les
        'cellules non vides du fichier d'exportation des données inj etc
        ActiveSheet.UsedRange.Select
        Selection.Copy
        Windows("Raccourci vers tabl marche smed.xls.lnk.xls").Activate
        'Range("Q43").Select
     
        dl = Range("A65000").End(xlUp).Row
        Range ("Q" & dl)
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Range("T43").Select
    End Sub
    Merci d'avance

    Vincent

  2. #2
    Membre éclairé
    Homme Profil pro
    retraite
    Inscrit en
    Avril 2010
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Espagne

    Informations professionnelles :
    Activité : retraite
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 325
    Par défaut
    bonsoir
    peux tu mettre des balises pour mieux voir ton code svp
    cris

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 6
    Par défaut
    Voici, en espérant que tu comprendra mieux

    Description du projet :

    1) dans le fichier INJA01_SG_EN_COURS.xls").Activate
    -->sélectionner les cellules non vides et les copier
    2) dans le fichier ("Raccourci vers tabl marche smed.xls.lnk.xls").Activate
    Coller les cellules sélectionnées dans la feuille nomée annuel_2011, dans la colonne "Q"
    à l'endroitde la première cellule non vide en remontant la colonne A
    (ce critère sert à déterminer la ligne)

    Voilà, merci d'avance



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Macro79()
    	Dim dl&
    	Range("Q42:T51").ClearContents
    	Windows("INJA01_SG_EN_COURS.xls").Activate
    	ActiveSheet.UsedRange.Copy
    	Windows("Raccourci vers tabl marche smed.xls.lnk.xls").Activate
    'la feuille de destination devrait être spécifiée !!!
    	dl = ActiveSheet.Range("A65000").End(xlUp).Row
    	Range("Q" & dl).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
            SkipBlanks:=False, Transpose:=False
    	Range("T43").Select
    End Sub

  4. #4
    Membre Expert
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Par défaut
    Bonjour
    et avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim dl As Long
    Range("Q" & CStr(dl)).PasteSpecial ...
    sinon le reste me semble correct

  5. #5
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Il te faut adapter le nom de la feuille où tu copie les valeurs, dans mon exemple, c'est "Feuil1" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Sub Macro79()
     
        'c'est de quel classeur ?
        Range("Q42:T51").ClearContents
     
        'adapter le nom de la feuille, remplacer "Feuil1" par le nom de la feuille où sont copiées les valeurs
        Workbooks("INJA01_SG_EN_COURS.xls").Worksheets("Feuil1").UsedRange.Copy _
        Workbooks("Raccourci vers tabl marche smed.xls.lnk.xls").Worksheets("annuel_2011").Range("Q" & Rows.Count).End(xlUp)(2)
     
    End Sub
    Hervé.

  6. #6
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 6
    Par défaut
    Hello Helas & Theze

    Merci pour votre aide.
    Helas, j'ai appliqué le code suggéré et la ligne suivant a été surlignée en jaune
    ligne concernée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("Q" & CStr(dl)).Paste
    Theze le classeur concerné est "INJA01_SG_EN_COURS.xls"

    Toujours dans le même esprit je vous joints le code,
    je l'ai un peu simplifié pour ce qui est des détail copy and cut

    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
    Dim dl As Long
     
        'Ce fichier est celui dans lequel je copie les données
        	Windows("INJA01_SG_EN_COURS.xls").Activate
        'Cette feuille est la feuille qui contient les données à copier
        	Sheets("Feuil1").Select
        'Zone de sélection dans "INJA01_SG_EN_COURS.xls"
    	Range("B5:D9").Select
        	Selection.Copys
        'Ce fichier est celui dans lequel je colle les données
        	Windows("Test_tabl marchesmed.xls").Activate
        	Sheets("annuel_2011").Select
        	dl = ActiveSheet.Range("A65000").End(xlUp).Row
        	Range("Q" & CStr(dl)).Paste
    End Sub
    Merci d'avance pour vos réponses

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

Discussions similaires

  1. [XL-2007] Macro copier coller dans VBA Excel
    Par inho89 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/05/2015, 23h04
  2. Macro copier coller dans une autre feuille
    Par olivverte dans le forum Excel
    Réponses: 23
    Dernier message: 17/12/2013, 14h35
  3. macro copier coller une ligne d'un tableau dans une autre feuille
    Par sonichou dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 27/07/2011, 22h13
  4. [OL-2007] macro "copier-coller" dans contact outlook
    Par remitoulouse dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 19/08/2010, 01h20
  5. [OpenOffice][Tableur] Macro Copier/Coller dans Feuille 2
    Par marie6631 dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 12/07/2010, 13h22

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