Amortir un tableau excel avec archivage.

  • Initiateur de la discussion Initiateur de la discussion Tenebrae
  • 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 !

T

Tenebrae

Guest
Bonsoir à tous et toutes! C'est le neurone grillé que je me tourne vers vous car si j'ai des notions en formule Excel, je débute (de chez débutant😀) en VB et manifestement dans mon cas, c'est ce dont je vais avoir besoin.

Mon problème est le suivant : dans un tableau je saisis des anomalies avec un numéro de demande d'intervention. Et jusque là, c'est tout bon. Mais une fois les travaux réalisés, j'aimerai en saisissant la date de clôture que la ligne entière s'archive dans la feuille destinée à cette effet, et bien évidemment, s'efface de la feuille de saisie.
Et fin du fin, peut-être un message de confirmation pour éviter toute boulette ou possibilité de revenir en arrière en enlevant la date de clôture ?
Cependant, je ne voudrais pas abuser, et ne serait-ce que la première partie me dépannerait grandement.
Alors si l'un, ou l'une vous peut m'aider, je lui en suis gré d'avance.

Je vous joins une ébauche du tableau en question ,et encore merci de toute l'attention que vous pourrez y porter.
 

Pièces jointes

Re : Amortir un tableau excel avec archivage.

Bonsoir

Mais une fois les travaux réalisés, j'aimerai en saisissant la date de clôture que la ligne entière s'archive dans la feuille destinée à cette effet, et bien évidemment, s'efface de la feuille de saisie.
Et fin du fin, peut-être un message de confirmation pour éviter toute boulette ou possibilité de revenir en arrière en enlevant la date de clôture ?

Ci dessous une macro évènementielle qui devrait répondre au problème.
A coller avec l'éditeur VBA dans la feuille.


Code:
Private Sub Worksheet_Change(ByVal Target As Range)

Dim dl1 As Long

If Target.Count > 1 Then Exit Sub
If Trim(Target.Value) = "" Then Exit Sub
If Target.Column <> 4 Then Exit Sub
Select Case MsgBox("Vous allez supprimer la ligne N° : " & Target.Row _
                   & vbCrLf & "" _
                   & vbCrLf & "Numéro DI : " & Sheets(ActiveSheet.Name).Range(Target.Address).Offset(0, -3) _
                   & vbCrLf & "" _
                   & vbCrLf & "" _
                   , vbOKCancel Or vbCritical Or vbDefaultButton1, Application.Name)

    Case vbOK
       dl1 = Sheets("Archives").Range("A65536").End(xlUp).Row + 1
        Sheets(ActiveSheet.Name).Rows(Target.Row).Copy _
       Destination:=Sheets("Archives").Rows(dl1)
      Sheets(ActiveSheet.Name).Rows(Target.Row).Delete
    Case vbCancel
       Exit Sub
    End Select
End Sub

A tester

JP
 
Re : Amortir un tableau excel avec archivage.

De la bombe, mille fois merci!!!
Et comme je débute en VB mais que je suis motivé, j'ai réussi à adapter la macro pour réintégrer l'archive en cas d'erreur.
Trop content de ta réponse qui m'ôte une belle épine du pied, et pas peu fier d'avoir compris/😀
A très bientôt sur le forum et encore merci!
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
840
Retour