Bonjour,

J'ai un fichier avec 2 feuilles :
- 1 feuille "opérations" qui regroupent toutes les opérations (1 opération = 1 ligne)
- 1 feuille "opérations terminées" où j'aimerai regrouper les opérations qui ont le statut "terminées" dans la feuille 1

J'ai donc une colonne "statut de l'opération" dans la Feuille1 et je voudrais que lorsque on tape "terminée" dans cette colonne, la ligne de l'opération aille directement dans la feuille2.

J'ai mi en place ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Sub Opérationsterminées()
 
  Dim Lig     As Long
  Dim Col     As String
  Dim NbrLig  As Long
  Dim NumLig  As Long
 
  Sheets("Opérations terminées").Activate ' feuille de destination
 
  Col = "P"                 ' colonne de la donnée non vide à tester
  NumLig = 0
  With Sheets("Opérations")     ' feuille source
  NbrLig = .Cells(65536, Col).End(xlUp).Row
  For Lig = 1 To NbrLig
    If .Cells(Lig, Col).Value = "Terminée" Then
      .Cells(Lig, Col).EntireRow.Copy
      NumLig = NumLig + 1
      Cells(NumLig, 1).Select
      ActiveSheet.Paste
    End If
  Next
  End With
 
End Sub

Ce code fonctionne mais je suis obligé de lancer le programme pour que le changement de feuille s'effectue, et je voudrais qu'il se fasse automatiquement dés que je rempli la colonne "statut" par "terminée"..

Comment faire ?