M
monkeyspace
Guest
Bonsoir à tous,
J'ai un petit avec un code VBA pourtant assez connu sur ce forum ( j'ai cherché pour adapter un code fonctionnel mais pas trouvé ou du moins pas sur de moi) , le copier coller avec condition.
J'ai un classeur Excel qui possède deux feuilles : liste salariés et récap salariés.
Je cherche le moyen de copier seulement les lignes A:H de la feuille liste salariés qui contiennent soit X ou x dans la colonne I (copier l'ensemble des lignes qui contiennent ce X d'un coup serait génial) pour les coller dans le tableau B:I de récap salariés sans rien supprimer.
J'ai essayé de développer un code mais j'ai une erreur au niveau de la sélection du range.
J'ai une autre difficulté car mon tableau récap salariés contient déjà des données et il ne faut pas que sa écrase les données déjà existantes mais se coller des qu'une ligne est vide.
Voici mon essai le plus avancé :
Dim c As Range, sh As Worksheet
Set sh = Sheets("Recap salariés")
With Sheets("Liste salariés")
For Each c In Range(.[i2], .[i65536].End(xlUp))
If c = "x" Or c = "X" Then
Sheets("Recap salariés").Select
Rows("2:2").Select
c.EntireRow.Copy sh.Rows(sh.[A65536].End(xlUp).Row + 1)
End If
Next c
With Sheets("Liste salariés")
Application.ScreenUpdating = False
Merci d'avance,
Monkeyspace
J'ai un petit avec un code VBA pourtant assez connu sur ce forum ( j'ai cherché pour adapter un code fonctionnel mais pas trouvé ou du moins pas sur de moi) , le copier coller avec condition.
J'ai un classeur Excel qui possède deux feuilles : liste salariés et récap salariés.
Je cherche le moyen de copier seulement les lignes A:H de la feuille liste salariés qui contiennent soit X ou x dans la colonne I (copier l'ensemble des lignes qui contiennent ce X d'un coup serait génial) pour les coller dans le tableau B:I de récap salariés sans rien supprimer.
J'ai essayé de développer un code mais j'ai une erreur au niveau de la sélection du range.
J'ai une autre difficulté car mon tableau récap salariés contient déjà des données et il ne faut pas que sa écrase les données déjà existantes mais se coller des qu'une ligne est vide.
Voici mon essai le plus avancé :
Dim c As Range, sh As Worksheet
Set sh = Sheets("Recap salariés")
With Sheets("Liste salariés")
For Each c In Range(.[i2], .[i65536].End(xlUp))
If c = "x" Or c = "X" Then
Sheets("Recap salariés").Select
Rows("2:2").Select
c.EntireRow.Copy sh.Rows(sh.[A65536].End(xlUp).Row + 1)
End If
Next c
With Sheets("Liste salariés")
Application.ScreenUpdating = False
Merci d'avance,
Monkeyspace