XL 2016 EXCEL: Transfert de ligne selon condition.

Oriaux

XLDnaute Nouveau
Bonjour,

Je viens vers vous suite a un problème avec une macro excel. J'ai un fichier ou je dois transférer certaine ligne selon une condition.
Exemple:
Si cellule I10="OUI" alors transfert de la ligne I de la Feuil1 à la Feuil2 et quand le OUI est supprimer la ligne I reste dans la feuil 2 comme un Historique (jusqu'ici cela fonctionne).
Cependant si plus tard je reviens sur la même ligne I et rentre à nouveau "OUI" la ligne I s'affiche qu'une seule fois dans l'historique au lieux de deux fois.
Est-il possible de faire ce genre de manipulation sur Excel?
Si oui,est ce que quelqu'un pourrais m'expliquer comment faire pour que les lignes se répète?

Ci-joint un fichier exemple

Merci
Cordialement
 

Pièces jointes

  • EXEMPLE MACRO.xlsm
    17.1 KB · Affichages: 11

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Oriaux, bonjour le forum,

Peut-être comme ça :

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)

If Target.Column <> 9 Then Exit Sub 'si le chegement a lieu ailleurs que dans la colonne 9 (=> I), sort de la procédure
If Target.Value = "" Then Exit Sub 'si la cellule est effacée, sort de la procédure
Set OD = Worksheets("SCO_PR19") 'définit l'onglet destination OD
If Target.Value = "OUI" Then 'condition : si OUI est écrit dans la cellule
    Set DEST = OD.Cells(Application.Rows.Count, "A").End(xlUp).Offset(1, 0) 'définit la cellule de destination DEST
    Cells(Target.Row, 1).Resize(1, 9).Copy DEST 'copie les neuf premières cellule de la ligne éditée et les colle dans DEST
    Target.Value = "" 'efface le "OUI"
End If 'fin de la condition
End Sub
 

Discussions similaires

Réponses
7
Affichages
310

Statistiques des forums

Discussions
312 023
Messages
2 084 715
Membres
102 637
dernier inscrit
TOTO33000