Bonjour
Je cherche à créer une macro qui bascule des lignes de données d'un onglet à l'autre lorsqu'une donnée est saisie dans une cellule.
Dans le fichier exemple 2 onglets : entrée et sortie
Les saisies se sont dans l'onglet entrée (Date entrée et identité)
Lorsqu'une personne 'sort' on saisit une date de sortie et on bascule la ligne vers l'onglet sortie. Puis le ligne ainsi vidée de l'onglet entrée doit être supprimée pour conserver une continuité des données.
Le but étant d'automatiser cette opération.
J'ai bien trouvé un code sur le forum qui coupe-colle la ligne dès que l'on saisit une donnée dans la cellule voulue, mais c'est trop automatisé pour moi. Je préfèrerai déclencher cette opération via un bouton de commande. De plus j'ai essayé d'ajouter la suppression de ligne vidée mais pas moyen d'enchainer ces deux manip correctement.
Voici les codes actuels, merci d'avance pour votre aide.
Sub copie()
Sheets("Entrée").Select
Range("C3").Select
Do While ActiveCell.Value <> ""
If ActiveCell.Value <> "" Then
ligne = ActiveCell.Row
Rows(ActiveCell.Row).Cut
Sheets("Sortie").Activate
Range("A2").Select
If ActiveCell.Offset(1, 0).Value = "" Then
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Sheets("Entrée").Select
ActiveCell.Offset(1, 0).Select
Else
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Sheets("Entrée").Select
ActiveCell.Offset(1, 0).Select
End If
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
End Sub
Sub suppression()
Dim I As Integer
Application.ScreenUpdating = False
With Sheets("Entrée")
For I = .Range("A1000").End(xlUp).Row To 2 Step -1
If .Cells(I, "A").Value = "" Then .Rows(I).Delete
Next I
End With
End Sub
EDIT : avec la PJ c'est encore mieux...