Excel actualisation des feuilles

Résolu
Salut, salut j'ai un petit problème avec excel je m'explique:

J'ai un premier tableau qui liste mes commandes, en suite a l'aide d'un menu déroulant je choisi la machine que je veux utiliser pour produire ma pièce ce qui envoi la ligne dans une autre feuille selon la machine (3 feuilles machines différentes)à l'aide d'une maccro.

Le seul problème est que les feuilles machines ne n'actualisent pas (si je sélectionne la machine A puis décide de sélectionner la machine B, la ligne qui a été copiée dans la feuille de la machine A n'est pas supprimée, idem si je supprime une commande dans ma première liste elle reste dans la feuille machine correspondante).

Est-ce que quelqu'un s'y connait et pourrait me filer une petit coup de main ??

voila ma maccro actuelle

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("L6:L65536")) Is Nothing Then
If Target.Value = "VF 3" Then
With Sheets("VF3")
LigVide = .Range("B65536").End(xlUp).Row + 1
.Cells(LigVide, 1) = Target.Offset(0, -11).Value
.Cells(LigVide, 2) = Target.Offset(0, -10).Value
.Cells(LigVide, 3) = Target.Offset(0, -9).Value
.Cells(LigVide, 4) = Target.Offset(0, -8).Value
.Cells(LigVide, 5) = Target.Offset(0, -7).Value
.Cells(LigVide, 6) = Target.Offset(0, -6).Value
.Cells(LigVide, 7) = Target.Offset(0, -5).Value
.Cells(LigVide, 8) = Target.Offset(0, -4).Value
.Cells(LigVide, 9) = Target.Offset(0, -3).Value
.Cells(LigVide, 10) = Target.Offset(0, -2).Value
.Cells(LigVide, 11) = Target.Offset(0, -1).Value
End With
End If
End If
If Not Intersect(Target, Range("L6:L65536")) Is Nothing Then
If Target.Value = "VF 2" Then
With Sheets("VF2")
LigVide = .Range("B65536").End(xlUp).Row + 1
.Cells(LigVide, 1) = Target.Offset(0, -11).Value
.Cells(LigVide, 2) = Target.Offset(0, -10).Value
.Cells(LigVide, 3) = Target.Offset(0, -9).Value
.Cells(LigVide, 4) = Target.Offset(0, -8).Value
.Cells(LigVide, 5) = Target.Offset(0, -7).Value
.Cells(LigVide, 6) = Target.Offset(0, -6).Value
.Cells(LigVide, 7) = Target.Offset(0, -5).Value
.Cells(LigVide, 8) = Target.Offset(0, -4).Value
.Cells(LigVide, 9) = Target.Offset(0, -3).Value
.Cells(LigVide, 10) = Target.Offset(0, -2).Value
.Cells(LigVide, 11) = Target.Offset(0, -1).Value
End With
End If
End If
If Not Intersect(Target, Range("L6:L65536")) Is Nothing Then
If Target.Value = "SL 20" Then
With Sheets("SL20")
LigVide = .Range("B65536").End(xlUp).Row + 1
.Cells(LigVide, 1) = Target.Offset(0, -11).Value
.Cells(LigVide, 2) = Target.Offset(0, -10).Value
.Cells(LigVide, 3) = Target.Offset(0, -9).Value
.Cells(LigVide, 4) = Target.Offset(0, -8).Value
.Cells(LigVide, 5) = Target.Offset(0, -7).Value
.Cells(LigVide, 6) = Target.Offset(0, -6).Value
.Cells(LigVide, 7) = Target.Offset(0, -5).Value
.Cells(LigVide, 8) = Target.Offset(0, -4).Value
.Cells(LigVide, 9) = Target.Offset(0, -3).Value
.Cells(LigVide, 10) = Target.Offset(0, -2).Value
.Cells(LigVide, 11) = Target.Offset(0, -1).Value
End With
End If
End If
End Sub

Merci d'avance de l'interet que vous porterez a mon probleme.

3 réponses

  1. Contributeur
    MERCI DE M'AVOIR FAIT TRAVAILLE POUR RIEN
    RAS LE BOL DES GENS COMME TOI QUI METTENT LEURS PROBLEMES UN PEU PARTOUT SANS LE DIRE, LE TOUT LE VENDREDI AVANT DE PARTIR EN WE ET DE REGARDER LES PROPOSITIONS DES CITRONS PRESSES EN REVENANT AU BOULOT
    --
    1. Contributeur
      Bonjour,

      j'ai "un peu" allégé tout ça!

      dans un module:
      Sub reporter(onglet, tablo)
      Dim ligvide As Long
      
      With Sheets(onglet)
          ligvide = .Range("B65536").End(xlUp).Row + 1
          .Range(.Cells(ligvide, 1), .Cells(ligvide, 10)) = tablo
      End With
      End Sub 


      et dans le module feuil concerné
      Private Sub Worksheet_Change(ByVal Target As Range)
      Dim tablo
      If Not Intersect(Target, Range("L6:L65536")) Is Nothing Then
          tablo = Range(Cells(Target.Row, 1), Cells(Target.Row, 10))
          reporter Target.Value, tablo
      End If
      End Sub


      Bon WE