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 :

transfert de données d'une feuille à d'autres


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 4
    Par défaut transfert de données d'une feuille à d'autres
    Bonjour,

    Je dois, chaque mois, à partir d'un fichier, transférer sur d'autres feuilles des données en fonction de critères. Je souhaiterais ainsi créer une macro afin d'automatiser ce process.

    Concrètement j'ai une feuille dont le titre est de type "Données [mois] 2009" (j'ai un fichier pour chaque mois: "Données mai 2009" , "Données juin 2009"...) et qui contient des informations sur des clients.
    A chaque fois que j'exécute la macro, je souhaiterais, par exemple copier les données des clients vivant à Marseille, Bordeaux ou Nice dans une feuille nommée "REGION SUD" que j'aurai crée et en ayant copié les titres des colonnes de ma feuille "Données [mois] 2009". Et pour vérifier que tout est pris, je voudrais colorer la ligne qui correspond à ma condition.

    J'ai tenté certaines choses mais elles ne fonctionnent pas:

    1) Je voulais créé une procédure permettant de créer mes onglets et recopier les titres des colonnes de mon fichier source:

    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
    Sub InsereFeuille()
        Classeur = ActiveWorkbook.Name
        Workbooks(Classeur).Activate
     
        mois = InputBox("Mois des données?") 
     
        Sheets.Add.Move After:=Sheets(Sheets.Count)
        Sheets(Sheets.Count).Name = "IDF"
     
        Sheets.Add.Move After:=Sheets(Sheets.Count)
        Sheets(Sheets.Count).Name = "REGION SUD"
     
        Sheets.Add.Move After:=Sheets(Sheets.Count)
        Sheets(Sheets.Count).Name = "REGION NORD"
     
        Worksheets("BL Clients GS &mois&2010").Activate 'ne marche pas
        Range(Cells(1, 1), Cells(1, 1).End(xlRight)).Copy 'copie des titres de la feuille
     
        For Each feuille In Worksheets
            If feuille.Name <> "BL Clients GS &mois&2010" Then
                feuille.Range("A1").PasteSpecial
            End If
     
        Next feuille
     
    End Sub
    -> Sur cette procédure, ma variable "mois", même avec un espace, ne s'ajoute pas au titre et donc m'empêche de reproduire mes titres


    2) Ensuite, je pensais créer une autre procédure où je stockerais dans une table es données correspondant aux villes désirées puis de copier cette table dans la feuille correspondant à la bonne région. Ce que j'ai fait est un peu confus et je me demande s'il ne faut pas faire une fonction:

    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
    Sub Remplir()
        Call InsereFeuille
        Worksheets("BL Clients GS &mois& 2010").Activate
        ReDim Table_IledeF(j, 1) As Double
        ReDim Table_Nord(j, 1) As Double
        ReDim Table_Sud(j, 1) As Double
     
        n = Range(Cells(2, 1), Cells(2, 1).End(xlDown))
     
        j = 1
            For i = 2 To n
            If Cells(i, 3).Value = "PARIS" Or "VERSAILLES" Or "PANTIN" Then
            Table_IledeF(j, 1) = Range(Cells(i, 1), Cells(i, 1).End(xlToRight))
            Range(Cells(i, 1), Cells(i, 1).End(xlToRight)).Interior.Color = vbRed
     
            ElseIf Cells(i, 3).Value = "LENS" Or "LILLE" Then
            Table_Nord(j, 1) = Range(Cells(i, 1), Cells(i, 1).End(xlRight))
            Range(Cells(i, 1), Cells(i, 1).End(xlToRight)).Interior.Color = vbGreen
     
            ElseIf Cells(i, 3).Value = "BORDEAUX" Or "MARSEILLE" Or "NICE" Then
            Table_Sud(j, 1) = Range(Cells(i, 1), Cells(i, 1).End(xlRight))
            Range(Cells(i, 1), Cells(i, 1).End(xlToRight)).Interior.Color = vbBlue
     
            j = j + 1
            End If
            Next i
     
        Worksheets("IDF").Activate
        y = UBound(Table_IDF)
        x = LBound(Table_IDF)
        Range(Cells(2, 1), Cells(x, y)).Value = Table_IledeF
     
        Worksheets("REGION SUD").Activate
        y = UBound(Table_Sud)
        x = LBound(Table_Sud)
        Range(Cells(2, 1), Cells(x, y)).Value = Table_Sud
     
        Worksheets("REGION NORD").Activate
        y = UBound(Table_Nord)
        x = LBound(Table_Nord)
        Range(Cells(2, 1), Cells(x, y)).Value = Table_Nord
    End Sub
    -> Sur cette procédure, je n'arrive pas à dimensionner ma table, et je ne sais pas si je peux stocker de cette manière.

    Merci d'avance pour votre aide
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [XL-2010] transfert de données d'une feuille sur une autre si ?
    Par matipupuce dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/09/2013, 14h19
  2. [XL-2010] Transfert de données d'une feuille à une autre
    Par flavionnais dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/06/2013, 11h25
  3. Macro transfert de données d'une feuille Excel à une autre
    Par marion2 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/11/2009, 14h20
  4. Macro de transfert de données d'une feuille active vers 1 autre
    Par M8407108 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 03/12/2007, 16h27
  5. [VBA] Transmettre des données d'une feuille à l'autre
    Par Overflow64 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/12/2005, 09h58

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