Bonjour,
Je souhaiterais créer une macro qui me permettrait à partir d'une feuille de données de transférer les informations vers d'autres feuilles que j'aurais créées.
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"
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:
2) Ensuite, je pensais créer une autre procédure où je stockerais dans une table les 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:
Je ne sais pas si ce sont de bonnes pistes ou si je me trompe...
Je souhaiterais créer une macro qui me permettrait à partir d'une feuille de données de transférer les informations vers d'autres feuilles que j'aurais créées.
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"
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:
PHP:
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
2) Ensuite, je pensais créer une autre procédure où je stockerais dans une table les 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:
PHP:
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(xlRight))
ElseIf Cells(i, 3).Value = "LENS" Or "LILLE" Then
Table_Nord(j, 1) = Range(Cells(i, 1), Cells(i, 1).End(xlRight))
ElseIf Cells(i, 3).Value = "BORDEAUX" Or "MARSEILLE" Or "NICE" Then
Table_Sud(j, 1) = Range(Cells(i, 1), Cells(i, 1).End(xlRight))
j = j + 1
End If
Next i
Worksheets("IDF").Activate
y = UBound(Table_Paritel)
x = LBound(Table_Paritel)
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
Je ne sais pas si ce sont de bonnes pistes ou si je me trompe...