Recopie de cellules de feuilles de différent classeur

nicoloc

XLDnaute Nouveau
Bonjour à tous
en fait , j'ai pas vraiment de probleme, car mon code fonctionne.
Le seul truc c'est qu'il est moche et que je n'arrive pas a faire fonctionner un code genre
Code:
Workbooks(FichD).Sheets("Récapitulatif").Range("A2:S5").Copy _
            Workbooks(FichD).Sheets("Feuil1").Range("A65536").End(xlUp).Offset(1, 0)
que j'ai trouvé sur le forum et que j'ai voulu adapter a mon cas

Voici donc le code avec le quel je m'en sort mais c'est moche et je voudrais arriver a l'optimiser .
Code:
 Private Sub Workbook_Open()

Dim nb_ligne_presentation, lastlign, reprise_ligne As Integer
Dim i As Variant
Dim feuille, feuille_suivi_init As Object
Dim emplacement_reseau, fichier_source, nom, test, Consolidation, suivijournalier As String
Application.ScreenUpdating = False
'***********************************************************************
'importation des parametres
emplacement_reseau = Sheets("Parametrage").Cells(2, 2)
fichier_source = Sheets("Parametrage").Cells(3, 2)

'parametre de mise en forme
nb_ligne_presentation = 9
reprise_ligne = 2
nbpage = 5

'sauvegarde du nom de fichier initiale
Consolidation = ActiveWorkbook.Name
test = Consolidation

'ouverture du fichier de donne
Workbooks.Open (emplacement_reseau & "\" & fichier_source)
suivijournalier = ActiveWorkbook.Name
'********************************************************************

Set feuille_suivi_init = ActiveSheet
Workbooks(suivijournalier).Activate

For Each feuille In Workbooks(suivijournalier).Worksheets
nom = feuille.Name
Select Case feuille.Name

Case "motifs", "Bilan 2009", "Matrice", "causes"

Case Else
'copie des dates
Workbooks(suivijournalier).Activate
feuille.Select
lastlign = Cells(Rows.Count, 4).End(xlUp).Row - 2
Range(Cells(nb_ligne_presentation, 1), Cells(lastlign, 1)).Copy
Workbooks(Consolidation).Activate
Worksheets("Data").Select
Cells(reprise_ligne, 1).Select
ActiveSheet.Paste

'copie des temps d'arrêt
Workbooks(suivijournalier).Activate
feuille.Select
Range(Cells(nb_ligne_presentation, 3), Cells(lastlign, 3)).Copy
Workbooks(Consolidation).Activate
Worksheets("Data").Select
Cells(reprise_ligne, 3).Select
ActiveSheet.Paste

'copie des motifs
Workbooks(suivijournalier).Activate
feuille.Select
Range(Cells(nb_ligne_presentation, 4), Cells(lastlign, 4)).Copy
Workbooks(Consolidation).Activate
Worksheets("Data").Select
Cells(reprise_ligne, 4).Select
ActiveSheet.Paste

'copie des typologie
Workbooks(suivijournalier).Activate
feuille.Select
Range(Cells(nb_ligne_presentation, 10), Cells(lastlign, 10)).Copy
Workbooks(Consolidation).Activate
Worksheets("Data").Select
Cells(reprise_ligne, 6).Select
ActiveSheet.Paste

'copie du temps d'ouverture
Workbooks(suivijournalier).Activate
feuille.Select
Cells(2, 9).Copy
Workbooks(Consolidation).Activate
Worksheets("Consolidation tps ouv + # cycle").Select
Cells(nbpage, 9).Select
ActiveSheet.Paste

'Page suivante
    nbpage = nbpage + 1
    reprise_ligne = reprise_ligne + (lastlign - nb_ligne_presentation) + 1
End Select

Next feuille
'End Sub


Merci de votre aide
 

Discussions similaires

Réponses
7
Affichages
555
Réponses
3
Affichages
438

Statistiques des forums

Discussions
314 040
Messages
2 104 954
Membres
109 214
dernier inscrit
vince4017