Excel actualisation des feuilles

Résolu
hinen Messages postés 2 Statut Membre -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
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. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
    0
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
    --
    0