Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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 !

gildas lechat

XLDnaute Occasionnel
Bonjour,

Je gère un plan d'action sous ecxel.
Ce plan d'action comporte des lignes avec des actions fermées et des actions en cours. (Onglet "PDCA").

Je cherche un moyen par macro pour archiver les lignes fermées sur un nouvelle onglet nommé "Archive PDCA"
Dans un meme temps les lignes archivées sont supprimées du plan d'action ( onglet "PDCA")
Cette archive est la copie de l'onglet "PDCA" sur la mise en forme.

L'identification des actions fermées est effectué par "F" sur la colonne N de l'onglet "PDCA".

Bien sur, pour compliquer un peu, le plan d'action (onglet "PDCA") est vivant et chaque semaine de nouvelle actions sont fermées idendifiées par "F"
Les nouvelles lignes à archiver doivent être à la suite des lignes déjas archivées.


Jespères avoir été clair.
Vous trouverez ci joint le fichier
Cijoint.fr - Service gratuit de dépôt de fichiers

Merci de votre aide
Gildas
 
Re : Archivage

Bonjour gildas lechat,

Je te propose une solution par un double click dans la Cellule Active de la colonne Action de la feuille "PDCA" qui active la macro ci-dessous. Macro à placer dans le module de la même feuille.

Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
‘Contrôle des conditions basiques
If ActiveCell.Column <> 7 Or ActiveCell = "" Or ActiveCell.Offset(0, 7) <> "F" Then Exit Sub
Dim Myvalue As String, Lig As Integer, Col As Byte, Nom As String
'Contrôle de décision avant l'exécution du courrier
Myvalue = MsgBox("Souhaitez-vous archiver" & Chr(10) _
& " " & Chr(10) _
& "l'enregistrement " & ActiveCell.Value & " ?", Chr(10) _
& " " & Chr(10) _
& vbYesNo + vbQuestion + vbDefaultButton2, "CONTRÔLE AVANT EFFACEMENT")
If Myvalue = vbNo Then Exit Sub
Dim Derlig As Integer
With Sheets("Archive PDCA")
Derlig = .Range("G65000").End(xlUp).Row + 1
.Range(.Cells(Derlig, 1), .Cells(Derlig, 67)).Value = ActiveCell.EntireRow.Range("A1:BO1").Value
End With
ActiveCell.EntireRow.Delete
End Sub

Le processus démarré est le suivant :


1- contrôle automatique des conditions basiques : Cellule Active dans la colonne 7, Cellule Active non vide, Cellule Etat <> "F" ;
2- Vérification de la décision d'archiver par message Oui/Non ;
3- Transfert des données sur la feuille d'archivage et suppression de la ligne de la Cellule Active.

Cordialement

Bernard
 
- 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
1
Affichages
6 K
Compte Supprimé 979
C
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…