Bonjour,
je ré-ouvre le sujet car il me manque une chose:
la macro fait bien le travail mais juste avec la feuille "BASE"
je voudrais pouvoir faire la même chose avec toutes les feuilles du classeur sauf la feuille "CONFIG".
une autre chose n'effacer que les données qui sont déplacées car là elle efface toute les données de le feuille de destination.
et je veux que les lignes se cumulent.
le fichier est destiné à une production en différentes étapes qui sont représentée par le nom de chaque feuille donc la ligne se déplace suivant l'étape à réaliser dans la feuille correspondante comme cela chaque intervenant voit les chose à faire sur son étape et quand c'est fini il change l'état pour que cela bascule dans une autre étape.
à l'avance merci
Option Explicit
Dim tablo, tabloAS(), TabloDP(), Taberr(), i&, j&, kDP&, kAS&, Kerr&
Sub Séparer()
With Worksheets("base")
tablo = .Range("A2:J" & .Range("A" & Rows.Count).End(xlUp).Row)
kDP = 1
kAS = 1
Kerr = 1
For i = 1 To UBound(tablo, 1)
If tablo(i, 8) = "Déjà présents" Then
ReDim Preserve TabloDP(1 To 10, 1 To kDP)
For j = 1 To 10
TabloDP(j, kDP) = tablo(i, j)
Next j
kDP = kDP + 1
ElseIf tablo(i, 8) = "A sortir" Then
ReDim Preserve tabloAS(1 To 10, 1 To kAS)
For j = 1 To 10
tabloAS(j, kAS) = tablo(i, j)
Next j
kAS = kAS + 1
Else
ReDim Preserve Taberr(1 To 10, 1 To Kerr)
For j = 1 To 10
Taberr(j, Kerr) = tablo(i, j)
Next j
Kerr = Kerr + 1
End If
Next i
.Range("A2").Resize(UBound(tablo, 1), UBound(tablo, 2)).ClearContents
.Range("A2").Resize(UBound(Taberr, 2), 10) = Application.Transpose(Taberr)
End With
Sheets("A sortir").Range("A1").CurrentRegion.Offset(1, 0).ClearContents
Sheets("A sortir").Range("A2").Resize(UBound(tabloAS, 2), 9) = Application.Transpose(tabloAS)
Sheets("Déjà présents").Range("A1").CurrentRegion.Offset(1, 0).ClearContents
Sheets("Déjà présents").Range("A2").Resize(UBound(TabloDP, 2), 9) = Application.Transpose(TabloDP)
MsgBox "Travail terminé."
End Sub