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
| Private Sub Worksheet_Change(ByVal Target As Range)
'Je souhaite intégrer les données des colonnes C D E F G H du fichier source dans la feuille PointageValo
'(la dernière) juste avant la ligne monep (ligne 82 ici) aux colonnes B AT AU AV AW AX du fichier cible.
Dim Noms, Fichiers, Wbk As Workbook, Ligne As Long
Fichiers = Array("test_elise 2012", "test arthur 2012", "test_france 2012", "test_GPP 2012", _
"test_PBL 2012", "test_VIE 2012", "test_LELOGIS 2012", "test_GTG 2012", "test_Gestoblig 2012", _
"test_eurostrategies 2012")
Noms = Array("SICAV ELISE", "arthur croissance", "test_france 2012", "GESTION PRIVE PLANETE", _
"PBL croissance", "test_VIE 2012", "test_LELOGIS 2012", "GTG CROISSANCE", "test_Gestoblig 2012", _
"MCA EUROP' AVENIR")
If Target.Column > 2 And Target.Column < 9 And Target.Offset(1).Value = "" Then
If Application.CountA(Cells(Target.Row, 2).Resize(, 7)) = 7 Then
If IsNumeric(Application.Match(Cells(Target.Row, 2).Value, Noms, 0)) Then
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Wbk = Workbooks.Open(ThisWorkbook.Path & "\" & _
Application.Index(Fichiers, Application.Match(Cells(Target.Row, 2).Value, Noms, 0), 1))
Application.DisplayAlerts = True
With Wbk.Sheets("pointageValo")
Ligne = .[A:A].Find("monep", , xlValues, xlWhole).Row
.Rows(Ligne).Insert
.Range(.Cells(Ligne, 1), .Cells(Ligne, "X")).Borders(xlEdgeTop).LineStyle = xlNone
.Range(.Cells(Ligne, 1), .Cells(Ligne, "X")).Borders(xlEdgeBottom).LineStyle = xlContinuous
.Range(.Cells(Ligne, 1), .Cells(Ligne, "X")).Borders(xlEdgeBottom).Weight = xlMedium
.Cells(Ligne, 2) = Cells(Target.Row, 3)
.Cells(Ligne, "AT").Resize(, 5).Value = Cells(Target.Row, 4).Resize(, 5).Value
End With
Wbk.Close True
Application.ScreenUpdating = True
End If
End If
End If
End Sub |