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 :

copier / coller excel 2000


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2008
    Messages : 37
    Points : 18
    Points
    18
    Par défaut copier / coller excel 2000
    Hello!

    J'ai ce code que fait un copier / coller d'une plage de cellules dans un autre workbook :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Workbooks.Open Filename:=chemin, ReadOnly:=True
    Workbooks(nomfichiersource).Activate
    Worksheets(semainefeuille).Range(Cells(starty, 73).Address, Cells(endy, 256).Address).Select
     
    Workbooks(nomfichiercible).Activate
    Worksheets("base").Cells(destination, 1).Activate
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteFormats
     
    Workbooks(nomfichiersource).Close False
    Ce code ne fonctionne pas dans excel 2000. Il met une erreur sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets(semainefeuille).Range(Cells(starty, 73).Address, Cells(endy, 256).Address).Select
    Dans mon cas,
    chemin = le chemin du fichier à copier
    semainefeuille = "13. - 19.10.08"
    starty = 756
    endy = 759
    destination = 1

    Ca serait super si vous pouvez m'aider!

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    752
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 752
    Points : 832
    Points
    832
    Par défaut
    C'est ton Range qui ne va pas: il faut lui renseigner 2 cellules, et non pas 2 adresses de cellules (c'est peut-être pas clair pour toi mais c'est totalement différent).

    A la place de ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(Cells(starty, 73).Address, Cells(endy, 256).Address)
    Mets ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(Cells(starty, 73), Cells(endy, 256))

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2008
    Messages : 37
    Points : 18
    Points
    18
    Par défaut
    Merci de ta réponse!

    J'ai changé et mis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets(semainefeuille).Range(Cells(starty, 73), Cells(endy, 256)).Select
    Mais il me donne toujours une erreur sur la même ligne

    Si ça peut aider, le numéro d'erreur est 1004...

  4. #4
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour,

    Lorsqu'on insère des cells dans la syntaxe
    il faut également attribuer la feuille aux cells

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets(semainefeuille).Range(Worksheets(semainefeuille).Cells(starty, 73), Worksheets(semainefeuille).Cells(endy, 256)).Select
    Ce type de syntaxe étant un peu indigeste à lire, on peut faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim Wsh As Worksheet
    Set Wsh = Worksheets(semaine feuille)
     
    Wsh.Range(Wsh.Cells(starty, 73), Wsh.Cells(endy, 256)).Select
    Autre point, il n'est pas nécessaire d'utiliser une multitude de "Select" et "Activate"
    Le code peut s'écrire comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim Wcible As Workbook, Wsource As Workbook
    Dim Ssource As Worksheet, Scible As Worksheet
    Application.ScreenUpdating = False
     
    Set Wsource = Workbooks.Open(Filename:=chemin, ReadOnly:=True)
    Set Ssource = Wsource.Sheets(semainefeuille)
    Set Wcible = Workbooks(nomfichiercible)
    Set Scible = Wcible.Sheets("base")
     
    Ssource.Range(Ssource.Cells(starty, 73), Ssource.Cells(endy, 256)).Copy Scible.Cells(Destination, 1)
     
    Wsource.Close False
    Application.ScreenUpdating = True
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2008
    Messages : 37
    Points : 18
    Points
    18
    Par défaut
    Merci ça fonctionne parfaitement après avoir modifié encore 2-3 choses,

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

Discussions similaires

  1. Copier/coller Excel/Tableau HTML
    Par getget94 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 01/07/2009, 20h00
  2. Copier coller Excel
    Par wardavb dans le forum WinDev
    Réponses: 3
    Dernier message: 19/10/2007, 15h43
  3. Probleme de copier-coller EXCEL
    Par a.dequidt dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/09/2007, 15h10
  4. Réponses: 4
    Dernier message: 21/04/2006, 17h59
  5. Copier/Coller Excel
    Par tiftay01 dans le forum Excel
    Réponses: 15
    Dernier message: 10/03/2006, 19h00

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