Bonjour à tous,
Voila plusieurs jours que je travaille sur une macro. Il s'agit de ma première macro, j'ai donc fais beaucoup de recherche sur internet ,mais là.. je bloque!
Je saisi dans l'onglet "saisie"
Dans mon onglet "liste", la première ligne se remplie : pas de soucis
Dans mon onglet "gestion":
je souhaiterai que les informations (les ligne à copier) s'ajoutent en bas dans les premières lignes vides
avec: Set cel_cible = ong_cible.Range("A3:H3") '.End(xlDown).Offset(1) seulement la première colonne est copiée!
avec: Set cel_cible = ong_cible.Range("A3:H3") les lignes entières sont copiée, mais elle écrasent les valeurs présentes au lieu de s'insérer en bas!!
Ci-dessous la partie du code concernée:
Dim ong_source As Worksheet
Dim col_source As Range
Dim col_test_source As Range
Dim lig_source As Range
Dim ong_cible As Worksheet
Dim cel_cible As Range
Set ong_source = Worksheets("Saisie")
Set ong_cible = Worksheets("Gestion")
With ong_source
Set col_source = Union(.Columns("F"), .Columns("G"), .Columns("H"), .Columns("I"), .Columns("J"), .Columns("K"), .Columns("L"), .Columns("M"))
Set col_test_source = .Columns("F")
End With
Set cel_cible = ong_cible.Range("A3:H3") '.End(xlDown).Offset(1)
Set lig_source = ong_source.Rows(16)
For Each lig_source In ong_source.Range(ong_source.Rows(16), ong_source.Rows(36))
If Intersect(lig_source, col_test_source).Value <> "" Then
cel_cible.Value = Intersect(lig_source, col_source).Value
Set cel_cible = cel_cible.Offset(1)
End If
Next
Si quelqu'un peut m'aider, je lui serai très reconnaissante!!
Merci