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 :

Compilation de plusieurs feuilles Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 1
    Par défaut Compilation de plusieurs feuilles Excel
    J'ai lu cette discussion

    J'ai téléchargé la contribution de rdurupt qui marche bien pour les deux fichiers Excel en exemple (66 et 11.xls).
    J'ai d'autres fichiers à compiler mais étant débutant en VBA, j'arrive à mettre le nombre de colonnes souhaitées, mais la macro ne me copie pas le contenu du tableau.
    je souhaiterai avoir plus de notion sur l'identification des colonnes à sélectionner ('J 'utilise une collection pour identifier les colonnes.
    'Colonne A=1, B=2…..
    'Nom= Colonne 1=>A, Rue= Colonne 2=>B
    'Ce principe m'oblige à balayer toutes les cellules de A2 à I2 et A? à I?.). mes colonnes vont de A à N (voire plus).
    Je vous serai reconnaissant de me détailler davantage (même si c'est déjà très clair) pour que je comprenne les fonctions utilisées dans la macro.

    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    D’abord un petit rappel de l’énoncé original.
    Le postula était de pouvoir récupérer des données de différents classeurs, de les intégrer dans un feuille Excel unique.
    Vue que le colonage de chaque classeur n’était pas forcément dans le même ordre que celui du classeur cible, nous devions pouvoirs écrire les valeurs dans la bonne colonne.
    Les collections permettent de créer une frome de tableaux avec la différence que nous pouvons donner un nom à chaque élément du tableau.
    ColonneTitre(1)=1
    ColonneTitre( "Nom" )=1
    Cette méthode permet d’écrire dans la Cible.colonne(1) les valeurs Source.colonne(10) si la colonne 10 comporte "Nom" comme titre de colonne.
    En fait il s’agit d’un mappage des titres avec la colonne de destination.
    Pour ton exemple :
    'Ce principe m'oblige à balayer toutes les cellules de A2 à I2 et A? à I?.). mes colonnes vont de A à N (voire plus).
    Si comme dans l’énoncé original, tu dois créer un nouveau classeur, la tu as 2 solution : créer un model (.XLT) avec ton colonage, ou utiliser le premier classeur que tu ouvre comme model de colonne ;
    Dans c’est 2 cas gérer dynamiquement les collections.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For i = 1 To Usedrang.Cells.Columns.Count
        ColonneTitre.Add i, Cells(1, i)
        Titre.Add Cells(1, i)
    Next
    Pour la pratique nous en reparlerons avec des exemple plus concrets si tu veux bien.

Discussions similaires

  1. Recupérer des données de plusieurs feuilles excel
    Par philoux34 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 31/03/2009, 16h34
  2. Récupérer le contenu de plusieurs feuilles EXCEL
    Par schtipoun dans le forum VBA Access
    Réponses: 0
    Dernier message: 23/04/2008, 12h10
  3. [POI][JDIC] Imprimer plusieurs "feuilles" Excel
    Par Invité dans le forum Documents
    Réponses: 2
    Dernier message: 22/02/2008, 12h27
  4. reporter une cellule dans plusieurs feuilles excel
    Par tigdub1gal dans le forum Excel
    Réponses: 17
    Dernier message: 07/06/2007, 01h23
  5. Limite dans la copie de plusieurs feuilles Excel
    Par Thib dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/12/2006, 14h33

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