Bonjour le fil, bonjour le forum,
Le seul problème c'est quand lancer la macro ?
• Lors de l'édition de la colonne I (colonne des régions) et dans ce cas les colonnes suivantes (J à Q) se seront pas renseignées dans l'onglet de la région
• Au double-clic dans une cellule de la ligne pour la copier dans l'onglet de sa région ?
Je pense que la seconde option est plus logique. Essaie le code ci-dessous à placer dans l'onglet LISTE
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'au double-clic dans l'onglet
Dim LI As Integer 'déclare la variable LI (LIgne)
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)
'condition 1 : si le double-clic a lieu a partir de la troisième ligne dans une des cellules de la plage utilisée
If Target.Row > 2 And Not Application.Intersect(UsedRange, Target) Is Nothing Then
Cancel = True 'annule le mode [Édition] lié au double-clic
LI = Target.Row 'définit la ligne LI
On Error Resume Next 'gestion des erreurs (en cas d'erreur passe à la ligne suivante)
Set O = Sheets("REG_" & Cells(Target.Row, 9).Value) 'définit l'onglet O (génère une erreur si c'est onglet n'existe pas)
If Err <> 0 Then 'condition 2 : si une erreur a été générée
Err.Clear 'supprime l'erreur
MsgBox "L'onglet " & Chr(34) & "REG_" & Cells(Target.Row, 9).Value & Chr(34) & " n'existe pas !" 'message
Exit Sub 'sort de la procédure
End If 'fin de la condition 2
Set DEST = O.Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0) 'définit la cellue de destination DEST
Rows(LI).Copy DEST 'copie la ligne LI et la colle dans DEST
Cells(LI, 1).Resize(1, 17).Interior.ColorIndex = 3 'colore la ligne de rouge (pour indiquer qu'elle a déjà été transférée)
End If 'fin de la condition
End Sub