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 une cellule d'un fichier excel vers une autre cellule d'un autre fichier excel


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 9
    Points : 4
    Points
    4
    Par défaut copier une cellule d'un fichier excel vers une autre cellule d'un autre fichier excel
    Bonjour tout le monde
    Je suis une débutante en vba.
    J'aimerais copier une cellule A1 se trouvant dans un fichier source.xls vers une cellule b1 se trouvant
    dans un autre fichier destination.xls
    Svp, aidez moi.
    Merci

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 905
    Points : 28 877
    Points
    28 877
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    La syntaxe est : Source.Copy Destination
    Copy est une méthode de l'objet Range, Source est un objet Range (Soit ClasseurSource.FeuilleSource.PlageOuCelluleSource et Destination est également un objet Range (Soit ClasseurDeDestination.FeuilleDeDestination.CelluleDeDestination)
    Ton meilleur ami est l'enregistreur de macros qui te donnera le code à utiliser.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    merci Philippe. J'ai essayé ve que tu m'as dit . voici mon code. mais ca ne marche pas



    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
    Sub copydata()
    Dim wkbSource As Workbook
    Dim wkbdestination As Workbook
    Dim shttocopy As Worksheet
    Dim wbname As String
     
    Dim o As Worksheet
     
    Dim r As Range
    Dim r1 As Range
     
    Dim o1 As Worksheet
     
     
     
     
    Set wkbSource = Workbooks.Open("C:\carol\caroo\source.xlsx")
    wkbSource.Worksheets("Feuil1").Activate
    Set o = wkbSource.Worksheets("Feuil1")
     
     
    ' open file destination
    Set wkbdestination = Workbooks.Open("C:\carol\caroo\destination.xlsm")
    wkbdestination.Worksheets("Feuil1").Activate
     
    Set o1 = wkbdestination.Worksheets("Feuil1")
    Set r1 = o1.Range("A1")
     
     
    'copy
     
     r1.copy .r2
     
     
    End Sub

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    bonjour,

    et que ce passe-t-il ?

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 905
    Points : 28 877
    Points
    28 877
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    J'ai essayé ve que tu m'as dit . voici mon code. mais ca ne marche pas
    Cela manque de précision.
    Qu'est-ce qui ne marche pas ?
    Cela ne copie rien ?
    Y a-t-il un message d'erreur ?
    Si oui, quel numéro d'erreur, et quel message et à quelle ligne ?

    Cependant à première lecture dans cette ligne
    La syntaxe est bonne mais r1 est bien un objet Range mais r2 ????
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  6. #6
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    J'ai déclaré r1 et r comme range tout en haut.
    j'obtiens l'erreur suivante
    erreur d'execution 91
    variable objet ou variable de bloc with non indefie

    le probleme se trouve au niveau de la copie, car lorsque je commente la ligne r.copy r2, les fichiers s'ouvrent

  7. #7
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    r1 est bien un objet Range mais r2 ????

    Alors lileeeee c'est quoi r2 et pourquoi le précéder d'un point ?

  8. #8
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 905
    Points : 28 877
    Points
    28 877
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    J'ai déclaré r1 et r comme range tout en haut.
    C'est bien le problème
    Ligne 9, tu déclares la variable r comme un Range mais ligne 32 comme je te l'ai écrit tu utilises la variable r2 qui elle n'est déclarée nulle part. En tous les cas pas de le code affiché.
    L'utilisation de variable plus 'parlante' comme Source et Cible t'aiderait sûrement et la ligne Option Explicit placée en début de module t'aurait permis de voir tout de suite que la variable r2 n'était pas déclarée
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  9. #9
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    ah oui c'est vrai. C'est r2 le problème. J'aurais dû mettre r à la place.
    Çà marche maintenant.
    Merci beaucoup à vous tous. Merci merci merci.....

  10. #10
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 905
    Points : 28 877
    Points
    28 877
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Comme écrit plus haut il est important de placer cette ligne Option Explicit en tête de module.
    Cela nous oblige à déclarer nos variables et cela fait gagner un temps important à la recherche de problème inhérent à des variables non déclarées ou mal orthographiées.
    Il est possible de cocher une option Déclaration obligatoire ds variables dans les Options VBA qui placera automatiquement cette ligne à chaque insertion de nouveau module.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  11. #11
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    ok. Merci du conseil.
    Et comment cocher cette option svp?

  12. #12
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 905
    Points : 28 877
    Points
    28 877
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Dans l'éditeur VBE Outils..., Options..., cocher Déclaration variables obligatoire
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  13. #13
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Bonjour Phillipe
    Merci beaucoup. je l'ai fait.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/11/2011, 10h04
  2. [XL-2003] copier une ligne d'un fichier txt vers une cellule
    Par hatemhatem dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/03/2010, 13h20
  3. Copier des cellules de fichiers mensuels vers une master spreadsheet
    Par aerolulu dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/10/2009, 18h13
  4. Réponses: 2
    Dernier message: 21/09/2007, 18h47
  5. Migrer un fichier excel vers une base sql serveur
    Par vdavid1982 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 12/07/2005, 16h26

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