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 :

Importer des plages de cellules variables


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
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Par défaut Importer des plages de cellules variables
    Bonjour,

    Je voudrais importer plusieurs plages de cellules de plusieurs fichiers excel (6 exactement). les fichiers sources sont identiques, seul le nombre de ligne peut varier. Le but est donc de consolider 6 fichier identiques dans un seul.
    Je ne sais pas trop comment m'y prendre.
    comment definir le nombre de ligne à importer et comment le faire sur plusieurs fichier et que toutes les données se mettent à la suite, sans se superposer?
    Les 6 fichiers ont toujours le même nom.
    Comment faire cette importation sans avoir à ouvrir les sources sachant que le fichier consolidé et les souces sont dans le même dossier

    Merci de votre aide

  2. #2
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Bonjour,
    Ce petit problème m'intéresse mais quelques précisions...
    Vous ne voulez pas de liaisons ?
    Avez vous pensé à passer par Access ?

    Sans quoi j'ai une petite idée mais j'aimerais la tester et là j'ai plus trop le temps

  3. #3
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Les classeurs sources ont-ils une structure de base de données, c'est-à-dire, en colonnes avec des en-têtes différents pour chaque colonne?
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  4. #4
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Par défaut
    Merci de vos réponses, mais passer par access n'est pas envisageable
    Les 6 tableaux sont strictement identiques, même nb de colonne, même formating, même titre, seul le nd de ligne varie. Le but est donc de créer une macro qui consolide les 6 bases à la suite sur une même base.

    Voila ce que je viens d'essayer mais ça ne semble pas fonctionner

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    Sub ImportFichier()
     
    Dim consolide As String
     
     
    consolide = ActiveWorkbook.Name
     
    'extraction France
     
    Workbooks("France.xls").Activate
    Sheets("11.CAPEX détail").Activate
     
    Cells(1, 4).Select
    ActiveCell.CurrentRegion.Select
    Selection.Copy
    Workbooks(consolide).Activate
    Sheets("Capex détail import").Activate
    Cells(1, 4).Select
    ActiveSheet.Paste
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
     
    'extraction Espagne
     
    Workbooks("Spain.xls").Activate
    Sheets("11.CAPEX détail").Activate
     
    Cells(1, 4).Select
    ActiveCell.CurrentRegion.Select
    Selection.Copy
    Workbooks(consolide).Activate
    Sheets("Capex détail import").Activate
    ActiveSheet.Paste
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
     
    'extraction Italie
     
    Workbooks("Italy.xls").Activate
    Sheets("11.CAPEX détail").Activate
     
    Cells(1, 4).Select
    ActiveCell.CurrentRegion.Select
    Selection.Copy
    Workbooks(consolide).Activate
    Sheets("Capex détail import").Activate
    ActiveSheet.Paste
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
     
    'extraction Pologne
     
    Workbooks("Poland.xls").Activate
    Sheets("11.CAPEX détail").Activate
     
    Cells(1, 4).Select
    ActiveCell.CurrentRegion.Select
    Selection.Copy
    Workbooks(consolide).Activate
    Sheets("Capex détail import").Activate
    ActiveSheet.Paste
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
     
    'extraction Russie
     
    Workbooks("Russia.xls").Activate
    Sheets("11.CAPEX détail").Activate
     
    Cells(1, 4).Select
    ActiveCell.CurrentRegion.Select
    Selection.Copy
    Workbooks(consolide).Activate
    Sheets("Capex détail import").Activate
    ActiveSheet.Paste
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
     
    'extraction Roumanie
     
    Workbooks("Romania.xls").Activate
    Sheets("11.CAPEX détail").Activate
     
    Cells(1, 4).Select
    ActiveCell.CurrentRegion.Select
    Selection.Copy
    Workbooks(consolide).Activate
    Sheets("Capex détail import").Activate
    ActiveSheet.Paste
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
     
    End Sub

    Autre question peut on utiliser vba pour faire une somme matricielle de plages de cellules figées. cad sommer 6 tableaux identiques dans mon fichier consolidé. le résultat sera aussi du meme format

    Merci de votre aide

Discussions similaires

  1. Définir des plages de cellules variables
    Par Gigelle dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/11/2013, 18h14
  2. Liste de diffusion Mail selon plage de cellule variable
    Par dguff dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/09/2007, 18h10
  3. Somme dépendant de plage de cellules variable
    Par Talieth dans le forum Excel
    Réponses: 4
    Dernier message: 23/04/2007, 11h37
  4. appliquer une macro a une plage de cellule variable
    Par johndeuf dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/11/2006, 17h18
  5. [VBA-E]Selection plage de cellules variable
    Par julien5 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/05/2006, 15h51

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