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

  • Initiateur de la discussion Initiateur de la discussion nivier13
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

Dernière édition:
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: 42
  • TestOK.jpg
    TestOK.jpg
    25.9 KB · Affichages: 48
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 ?
 
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 😉
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
537
Réponses
2
Affichages
408
Retour