Commencez par lire notre charte ( Lien ), apparemment vous y apprendrez plein de choses.Lorsqu’on rentre sur un fil, comme dans la vie de tous les jours, on est poli en disant « Bonjour ».
Bonjour Shoy, et bienvenu sur XLD,
Commencez par lire notre charte ( Lien ), apparemment vous y apprendrez plein de choses.
Concernant votre problème, je pense que seule une approche par macro VBA pourra résoudre le problème, si vous acceptez le VBA ...
( et doit on supprimez la ligne déplacée ou simplement la copier
et en plus vous ne répondez pas aux questions :Lorsqu’on rentre sur un fil, comme dans la vie de tous les jours, on est poli en disant « Bonjour ».
Je vous souhaite une excellente journée.si vous acceptez le VBA ...
Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub ' Si plusiurs cellules sélectionnées
If Sh.Name = "SORTIES TOUT DISPOSITIF AU" Then Exit Sub ' ou feuille archive alors on sort
If Not Intersect(Target, [I:I]) Is Nothing Then ' Si la donnée est entrée en colonne I
Application.ScreenUpdating = False
If Sheets(Sh.Name).Cells(Target.Row, "A") = "" Then MsgBox "Nom prénom absent.": Exit Sub ' Si pas de Nom on sort
With Sheets("SORTIES TOUT DISPOSITIF AU")
DL = 1 + .Cells(.Cells.Rows.Count, "A").End(xlUp).Row ' Ligne à écrire dans archive
Application.EnableEvents = False ' On tranefrt la ligne et on la supprime.
.Range("A" & DL & ":Z" & DL) = Sheets(Sh.Name).Range("A" & Target.Row & ":Z" & Target.Row).Value
Sheets(Sh.Name).Rows(Target.Row & ":" & Target.Row).Delete Shift:=xlUp
End With
End If
Fin:
Application.EnableEvents = True
End Sub
Perso, je ne vois pas comment résoudre le problème par formule.Et sans VBA cela est-il possible aussi ?