Créer VBA excel couper coller dans une autre feuille
Mike-31 Messages postés 18405 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je crée un fichier excel de prêt de matériel.
J'ai déjà bien avancé, à mon tout petit niveau, mais je bloque à présent.
J'ai une feuille "Prêts en cours" avec 6colonnes. La dernière est l'état du prêt (En cours, Rendu, Retard).
Je voudrais que quand je sélectionne la case "rendu" dans ma ligne de prêt, cette ligne soit coupée et collée dans la feuille suivante "Archive"
Quelqu'un peut-il m'aider ?
Merci d'avance.
Sybille.
Windows / Edge 128.0.0.0
- Créer VBA excel couper coller dans une autre feuille
- Créer une liste déroulante excel - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Couper une video - Guide
2 réponses
Bonjour,
Tu peux utiliser une macro VBA.
Appuie sur Alt + F11 pour ouvrir l'éditeur VBA.
Dans l'éditeur VBA, fais un clic droit sur le nom de ton classeur dans le panneau de gauche et choisis Insérer > Module.
Ajouter le code VBA suivant :
Private Sub Worksheet_Change(ByVal Target As Range) Dim wsSource As Worksheet Dim wsDest As Worksheet Dim lRow As Long ' Définir les feuilles source (Prêts en cours) et destination (Archive) Set wsSource = ThisWorkbook.Sheets("Prêts en cours") Set wsDest = ThisWorkbook.Sheets("Archive") ' Vérifier si la modification est dans la colonne 6 (État du prêt) If Not Intersect(Target, wsSource.Columns(6)) Is Nothing Then ' Si la cellule contient "rendu" If Target.Value = "rendu" Then ' Trouver la première ligne vide dans la feuille Archive lRow = wsDest.Cells(wsDest.Rows.Count, 1).End(xlUp).Row + 1 ' Copier la ligne dans Archive wsSource.Rows(Target.Row).Copy Destination:=wsDest.Rows(lRow) ' Supprimer la ligne de la feuille Prêts en cours wsSource.Rows(Target.Row).Delete End If End If End Sub
Appuie sur Ctrl + S pour enregistrer ton classeur en tant que fichier Excel prenant en charge les macros (extension .xlsm), puis ferme l'éditeur VBA.
Retourne dans ton fichier Excel et modifie l'état d'un prêt en le marquant comme "rendu". La ligne devrait automatiquement être déplacée vers la feuille "Archive".
Ce script détecte toute modification dans la colonne d'état (colonne 6 - si c'est une autre modifie) et déplace la ligne vers l'onglet "Archive" si l'état est changé en "rendu".