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 :

Reporter des informations d'un fichier excel à un autre


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
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2014
    Messages : 1
    Par défaut Reporter des informations d'un fichier excel à un autre
    Bonjour à tous ,

    Etant assez novice en matière de macros et autres procédures VBA, j'aurais besoin d'un peu d'aide...

    Je reçois régulièrement des reportings qu'il me faut traiter et analyser.
    Pour ce faire j'ai besoin de reporter certaines données des fichiers excel reçus et des les centraliser dans un seul fichier.

    Ainsi, j'aimerais reporter les données:
    - de B8 à BX (cela varie d'un reporting à l'autre) si B est non vide du classeur 1,2,3... en colonne A (à partir de A2) du classeur A.
    - de C8 à CX du classeur 1,2,3... si C est non vide en colonne B (à partir de B2) du classeur A
    - de D8 à DX du classeur 1,2,3... si D est non vide en colonne C (à partir de C2) du classeur A
    - de I8 à IX du classeur 1,2,3... si I est non vide en colonne M (à partir de M2) du classeur A
    - de N8 à NX du classeur 1,2,3... si N est non vide en colonne O (à partir de O2) du classeur A

    Il y a en tout une quarantaine de reporting à centraliser dans ce fichier (classeur A), il est donc claire qu'automatiser cette procédure (qui est mensuelle) me ferait gagner un temps très précieux...

    A noter également que les données à reporter ce trouve en page 14 et 15 des reportings...

    Je vous joins deux fichier à titre d'exemple. Le classeur 1 correspond à un reporting type et le classeur A au fichier central.

    Merci par avance de votre aide
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Le problème est que ta question est trop vaste. Il faudrait que tu commences à défricher ça par toi-même avec l'aide de VBA Excel.

    Pour récupérer le contenu de cellules, voir "Cells" (cas particulier de "Range") et par plus particulièrement sa propriété Value.
    Attention, "Cells" désigne les colonnes par des nombres et non des lettres. Je te conseille donc de passer en mode L1C1 : Options Excel > Formules > Manipulation de cellules > Style de référence L1C1

    Pour connaitre le nombre de cellule renseignées dans une sélection :
    http://www.developpez.net/forums/d14...ellules-trier/

    Pour scruter plusieurs cellules, voir les boucles, en particulier For...Next.

    Pour transmettre des valeur d'une feuille à une autre (ou d'un fichier à un autre), faire précédé la référence de la cellule du nom de fichier et du nom d'onglet, avec une syntaxe du type :
    Workbooks("nom de fichier").Worksheets("nom d'onglet").cells(1,1)
    Voir dans l'aide les objets Workbook et Worksheet (au singulier).

    Pour savoir si une cellule est vide, personnellement je préfère tester le contenu avec la fonction "Len" (qui donne la longueur du contenu).
    Pour ne faire une action que si la valeur cellule n'est pas vide, ça donnera donc quelque chose comme :
    If Len(cellule.Value) > 0 then ...

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 3
    Par défaut Début de réponse
    Tu demandes beaucoup de choses en même temps, difficile de proposer une solution qui marchera dans tous les cas.

    Testes déjà si le code ci-dessous peut répondre à cette demande :
    -Copier B8 à BX (cela varie d'un reporting à l'autre) si B est non vide du classeur 1 en colonne A (à partir de A2) du classeur A.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim vLignMax1 As Integer
     
    If Workbooks("Classeur1.xlsx").Sheets("Feuil1").Range("B8") <> "" Then
        'Trouve X
        vLignMax1 = Workbooks("Classeur1.xlsx").Sheets("Feuil1").Range("B8").End(xlDown).Row
        'Copier
        Workbooks("Classeur1.xlsx").Sheets("Feuil1").Range("B8", "B" & vLignMax1).Copy
        'Coller
        ThisWorkbook.Sheets("Feuil1").Range("A2").PasteSpecial (xlPasteValues)
        Application.CutCopyMode = False
    End If
    Pour l'utiliser :
    -Dans classeurA tapes ALT+F8.
    -Mets un nom de macro du style : "fCopyColumn".
    -Cliques sur Create.
    -Copies/colles le code ci-dessus.
    -Ouvres Classeur1.
    -Dans classeurA tapes ALT+F8.
    -Cliques sur Run.

    A toi de voir par quoi tu veux commencer ensuite...
    As-tu des notions d'Algorithme ? Car visiblement il va falloir des boucles.

Discussions similaires

  1. [XL-2003] Copier des données d'un fichier Excel à un autre
    Par Banshor dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 14/05/2014, 08h15
  2. Code VBA pour copier-coller des colonnes d'un fichier Excel à un autre
    Par User Name dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/01/2014, 23h30
  3. [VBA-E] Lire des valeurs dans un fichier excel
    Par nicobox dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 11/05/2006, 15h40
  4. Obtenir la liste des feuilles d'un fichier Excel
    Par Jean Bonnisme dans le forum Access
    Réponses: 3
    Dernier message: 15/10/2004, 10h53
  5. Mettre des donnees dans un fichier Excel
    Par Mouawad dans le forum C++Builder
    Réponses: 6
    Dernier message: 07/10/2004, 14h55

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