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 :

travailler avec 2 fichier Excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    284
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 284
    Par défaut travailler avec 2 fichier Excel
    Bonjour,

    Je parcourt la feuille 1 du premier fichier excel (avec un curseur) , je copie une ligne et je la colle dans un 2ème fichier excel.
    Le pb est que après avoir coller la ligne, le curseur s'incrémente dans le 2ème fichier…comment faire pour revenir au premier fichier et retrouver mon curseur ?
    merci

  2. #2
    Membre éclairé Avatar de bastou93
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

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

    Qu'appelles tu curseur? cellule sélectionnée?

    Sinon pour revenir sur un autre fichier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    'TU FAIS TON COPIER
    ...
    'TU CHANGE DE FICHIER
    WorkBooks("NOM DE TON FICHIER.xls").Activate
    'TU FAIS TON COLLER
    ...
    'TU REVIENS
    WorkBooks("NOM DE TON AUTRE FICHIER.xls").Activate
    sachant que tu peux le fermer avec .Close si t'en a plus besoin de bon fichier

    Bastien

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    284
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 284
    Par défaut
    j'ai l'erreur suivante :
    l'indice n'appartient pas à la sélection

    !!!

  4. #4
    Membre éclairé Avatar de bastou93
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 217
    Par défaut
    Vérifie alors le nom de ton fichier tu peux le voir en haut et l'extension aussi.
    Sinon tu peux travailler avec l'index au lieu du nom exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    WorkBooks(1).Activate
    WorkBooks(2).Activate
    1= premier fichier ouvert... etc

    EDIT: j'avais oublié des "s" aussi a la fin de "workbooks"
    Bastien

  5. #5
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    284
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 284
    Par défaut
    cela marche bien qd je passe du premier fic au 2 ème.
    mais ça ne marche pas qd je veux revenir au 1ere fic...

  6. #6
    Membre éclairé Avatar de bastou93
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 217
    Par défaut
    Sa fait quoi?

    Il n'y a pas de raison fait en pas à pas moi si je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    WorkBooks(1).Activate
    WorkBooks(2).Activate
    WorkBooks(1).Activate
    Je passe du premier au deuxième et reviens sur le 1er...

  7. #7
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    284
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 284
    Par défaut
    merci ça marche bien.
    mais j'ai un autre pb : je souhaite parcourir les onglets du fichier 1.
    j'ai une boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    For j = 1 To NbOnglet
       Worksheets(j).Activate
    qd j=1 ça marche bien...
    qd j=2 j'ai l'erreur :
    l'indice n'appartient pas à la sélection

  8. #8
    Membre éclairé Avatar de bastou93
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 217
    Par défaut
    qd j=1 ça marche bien...
    qd j=2 j'ai l'erreur :
    l'indice n'appartient pas à la sélection
    Normal tu as mis WorkSheets

    Mais il y a mieux sa évite de faire varier ta variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for each work in Workbooks   'balaye tous les workbook
      work.activate  'active tous les workbook 1 à 1
    next work
    Bastien

  9. #9
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    284
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 284
    Par défaut
    j'ai mis worksheet car je souhaite parcourir les feuille du classeur...

  10. #10
    Membre éclairé Avatar de bastou93
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 217
    Par défaut
    Désolès je n'avais pas vu
    Bah c'est pareil mais avec sheet alors

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for each sh in Workbooks(1).Sheets   'balaye tous les workbook
      sh.activate  'active tous les workbook 1 à 1
    next sh

  11. #11
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour à vous deux, Bonjour le Forum,

    Si je peux me permettre, quelques remarques :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for each sh in Workbooks(1).Sheets   'balaye tous les workbook
      sh.activate  'active tous les workbook 1 à 1
    next sh
    Tu ne balayes pas les workbook mais les onglets de ton classeur indicé 1.

    D'autre part, il faut bien savoir que et ne désigne pas le même objet.

    Voir la FAQ

    Les feuilles de calcul

    Enfin, pour revenir au premier point de la discussion, je pense qu'il aurait mieux fallu affecter 2 variables aux objets classeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim wk1 as Workbook
    Dim wk2 as Workbook
     
    Set wk1 = ThisWorkook
    Set wk2 = Workbooks("leclassur.xls")
    ("ThisWorkbook" désigne le classeur où est écrit le code)

    Dans la suite du code, on peut alors affecter à wk1 et wk2 toutes les propriétés et méthodes appliquables aux classeurs.

    Il est recommandé par ailleurs de vider ces variables en fin de code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set wk1 = Nothing
    Set wk2 = Nothing

Discussions similaires

  1. Travailler avec un fichier XML de grande taille
    Par Jayme65 dans le forum Flash
    Réponses: 9
    Dernier message: 29/05/2006, 18h09
  2. [Excel] Travailler avec un document
    Par pierrot10 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 11/05/2006, 13h49
  3. [VBA-A]Travailler dans un fichier Excel dans Access
    Par pilou0013 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 08/05/2006, 13h21
  4. [Excel] Travailler sur un fichier excel existant
    Par scoder dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 26/10/2004, 13h54

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