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
|
Sub MaJ()
Dim x As Integer 'Boucle pour copier et coller
Dim y As Integer 'Boucle pour avoir le nombre de valeur à copier
Dim z As Integer 'Boucle pour les 3 colonne (D, I, J)
Dim FichierExcel As String 'pour récupérer le nom du fichier
Dim Dernier_Cellule As Range 'pour récupérer la dernier cellule
Dim Num_Colonne As Integer 'pour récupérer le numéro de la dernier cellule
For z = 0 To 2 'Boucle pour les 3 colonnes
Select Case z
Case 0 'si z = 0 alors colonne D
Num_Colonne = 4
Case 1 'si z = 1 alors colonne i
Num_Colonne = 9
Case 2 'si z = 2 alors colonne j
Num_Colonne = 10
End Select
FichierExcel = ActiveWorkbook.Name
Workbooks(FichierExcel).Worksheets("BC").Activate
With Worksheets("BC")
Set Dernier_Cellule = Cells(Cells.Columns.Count, Num_Colonne).End(xlUp) 'Permet de déterminer la dernière cellule vide de la colonne D
End With
y = Dernier_Cellule.Row 'permet de récupérer le N° de ligne dans la variable y
For x = 21 To y 'Boucle pour copier les valeurs
Cells(x, Num_Colonne).Copy
'If la 1er cellule est vide on colle
If Range("A1") = "" Then
'Workbooks(FichierExcel).Sheets("BD") ON active la feuille BD du fichier excel
'Cells(1, Cells.Columns.Count) On prend la derniere cellule de la ligne 1
'End(xlToLeft)On revient vers la gauche jusqu'a la cellule pleine
Workbooks(FichierExcel).Sheets("BD").Cells(1, Cells.Columns.Count).End(xlToLeft).PasteSpecial
End If
'Workbooks(FichierExcel).Sheets("BD") ON active la feuille BD du fichier excel
'Cells(1, Cells.Columns.Count) On prend la derniere cellule de la ligne 1
'End(xlToLeft)On revient vers la gauche jusqu'a la cellule pleine
'Offset(0, 1) on se décale de 1 sur la ligne active
Workbooks(FichierExcel).Sheets("BD").Cells(1, Cells.Columns.Count).End(xlToLeft).Offset(0, 1).PasteSpecial
Workbooks(FichierExcel).Worksheets("BC").Activate
Next x
Next z
End Sub |