Bonsoir
Désolé mais j'ai lu en travers
CAPUCIN a écrit :
comment sortir et ne pas executer la section "autoincrementation" si la condition est vrai pour FlgCopy?
Il faut utiliser le trio If ...Else ...End IF
Ton code devient
If FlgCopy Then
Lig = Selection.Row
FlgCopy = False
Application.EnableEvents = False
Range("B" & Lig).Select 'Shift:=xlDown
ActiveSheet.Paste
Range("B" & Ligne & ":D" & Ligne + Nb).Select
'Application.CutCopyMode = xlNone 'pour desactiver ce mode (permet d'enlever la selection en pointille si on faisait "COPIER")
Selection.ClearContents
Application.EnableEvents = True
Else
'Auto incrementation:
If non Then Exit Sub 'non est une variable public si "true", on bypass cette partie de la macro evenementielle
If Target.Column <> 1 Then Exit Sub ' En dehors de la colonne A on dégage
If Target.Cells(1, 1) <> "" Then ' Quelque chose
On Error Resume Next ' On masque les erreurs
Nombre = "&H" & Target.Cells(1, 1) ' On récupére la valeur (on considère que c'est en hexa)
If Err.Number <> 0 Then Exit Sub ' Si une erreur on dégage
On Error GoTo 0 ' Gestion des erreurs normale
For Each cel In Target ' Pour chaque élément de la zone
cel = Right("0000" & Hex(Nombre), 4) ' On écrit la valeur en Hexa (formatée à 4 digits)
Nombre = Nombre + 1 ' On augmente la valeur
Next cel ' Passe à la cellule suivante
End If
End If
Cela devrait aller mieux
Si FlgCopy est True on fait la 1ère partie sinon on fait que la 2ème
C'est ce que tu voulais