Hpotter
État :
Absent
|
Bonsoir à tous,
J'ai fait un code qui devrait me permettre de remplir un tableau dans une feuille de calcul selon une donnée saisie dans la cellule A2. La feuille principale est nommée "Général" la feuille qui doit recevoir les données est nommée "P". Cette lettre se trouve dans la colonne "G" de la feuille "Général". Donc si je tape "P" dans la cellule A2 de la feuille "P", alors toutes lignes où il y a "P" dans la colonne "G" de "Général" doivent être copiées dans la feuille "P".
Voici un début de code :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim LastLig As Long, NewLig As Long, Nb As Long
If Target.Address = "$A$2" Then
Union(Range("A4:H" & Rows.Count), Range("J4:K" & Rows.Count), Range("M4:M" & Rows.Count)).ClearContents
If Target <> "" Then
With Sheets("Général")
LastLig = .Cells(Rows.Count, "G").End(xlUp).Row
With .Range("A1:M" & LastLig)
.AutoFilter
.AutoFilter field:=7, Criteria1:=Target
End With
Nb = .Range("A1:A" & LastLig).SpecialCells(xlCellTypeVisible).Count - 1
If Nb > 0 Then
Range("A4:E" & Nb + 3).Value = .Range("A2:E" & LastLig).SpecialCells(xlCellTypeVisible).Value
Range("G4:H" & Nb + 3).Value = .Range("I2:J" & LastLig).SpecialCells(xlCellTypeVisible).Value
Range("J4:K" & Nb + 3).Value = .Range("L2:M" & LastLig).SpecialCells(xlCellTypeVisible).Value
End If
.Range("A1").AutoFilter
End With
End If
End If
End Sub
Merci pour votre aide
|