Besoin d'aide pour création d'une macro Excel

nivier13

XLDnaute Nouveau
Bonjour à tous,

Ayant des connaissances assez limitées sur Excel, je poste ce message sur ce forum en espérant recevoir un peu d'aide :)

Sur mon fichier Excel, j'ai créé pour chaque année d'activité (de 2008 à 2014) une feuille Excel permettant le suivi de mes dossiers clients. Sur chacune de ces feuilles Excel figure une colonne "Statut du dossier" afin de connaître l'état d'avancement de chaque dossier client.
Ma demande est la suivante : je souhaiterai disposer d'une macro qui, lorsque le statut du dossier client est sur "Terminé", la ligne de ce dossier client se reporte dans la feuille Excel "Dossiers Terminés" et disparaît ainsi de la feuille de l'année où a été créé le dossier client (entre 2008 et 2014). Les dossiers terminés classés dans la feuille Excel "Dossiers Terminés" doivent être classés par ordre chronologique de la date d'envoi du rapport.
Sachant qu'il arrive quelques fois qu'un dossier terminé soit de nouveau réouvert, je souhaiterai que lorsque j'enlève le statut "Terminé" d'un dossier se trouvant dans la feuille "Dossiers Terminés", celui-ci revienne dans sa feuille d'origine.

Voilà j'espère avoir été assez explicite et j'espère que quelqu'un pourra m'aider car la création de macros est bien au-delà de mes compétences...

Merci à vous :)
 

Pièces jointes

  • Modèle.xls
    54 KB · Affichages: 56
  • Modèle.xls
    54 KB · Affichages: 57
  • Modèle.xls
    54 KB · Affichages: 57
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Besoin d'aide pour création d'une macro Excel

Bonjour

Avec ces modifications, ça semble être bon:
Code:
Sub ac()
Dim i, pf As Range, cCopy As Range
For i = 2008 To 2014
With Sheets(CStr(i))
    On Error Resume Next
     .Range("D1").AutoFilter Field:=4, Criteria1:="Terminé"
     Set pf = .[_FilterDataBase]
     Set cCopy = pf.Offset(1, 0).Resize(pf.Rows.Count - 1).SpecialCells(12)
     On Error GoTo 0
     If Not (cCopy Is Nothing) Then
     cCopy.Copy Sheets("Dossiers Terminés").[A65536].End(xlUp)(2)
     cCopy.Delete shift:=xlUp 'suppression dans feuilles source
     End If
     .AutoFilterMode = False
     Set pf = Nothing
     Set cCopy = Nothing
 End With
 Next
 End Sub

Ci-dessous résultat de la macro sur mon PC.
TestOK.jpg
 

Pièces jointes

  • TestOK.jpg
    TestOK.jpg
    25.9 KB · Affichages: 41
  • TestOK.jpg
    TestOK.jpg
    25.9 KB · Affichages: 47

nivier13

XLDnaute Nouveau
Re : Besoin d'aide pour création d'une macro Excel

Désolé de t'embêter encore Staple1600 mais je viens de m'apercevoir, pour n'importe quel dossier classé dans "Dossiers Terminés", que lorsque j'enlève le statut "Terminé" et le remplace par un autre, celui-ci ne revient pas dans sa feuille d'origine lors de l'exécution de la macro.

Est-il possible d'ajouter s'il te plait cette possibilité à la dernière macro que tu m'as communiquée ?
 

Staple1600

XLDnaute Barbatruc
Re : Besoin d'aide pour création d'une macro Excel

Bonsoir

Ta demande initiale était:
Ma demande est la suivante : je souhaiterai disposer d'une macro qui, lorsque le statut du dossier client est sur "Terminé", la ligne de ce dossier client se reporte dans la feuille Excel "Dossiers Terminés" et disparaît ainsi de la feuille de l'année où a été créé le dossier client (entre 2008 et 2014)
J'ai ajouté dans la dernière macro ac ce fait ce que tu demandais (en gras)
Sachant que cet ajout était absent dans la macro précédente, je te laisse deviner quelle ligne de code est dédiée à la suppression des données ;)

PS: C'est en plus indiqué en clair dans le commentaire ;), tu ne peux pas donc ne pas trouver ;)
 

Discussions similaires

Réponses
2
Affichages
288

Statistiques des forums

Discussions
312 207
Messages
2 086 238
Membres
103 162
dernier inscrit
fcfg