Bonjour
Dans le code ci-dessous, pourriez-vous me dire s'il est possible d'intégrer dans celui-ci que la colonne A s'incrémente automatiquement et n'est pas modifiable (clé primaire) ? Merci d'avance pour votre aide !
Dans le code ci-dessous, pourriez-vous me dire s'il est possible d'intégrer dans celui-ci que la colonne A s'incrémente automatiquement et n'est pas modifiable (clé primaire) ? Merci d'avance pour votre aide !
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cel As Range
Dim derLig As Long
Dim lignVide As Long
Dim V1
Dim V2
Dim V3
Dim V4
Dim V5
Dim V6
If Target.Column <> 12 Then Exit Sub
derLig = Range("A" & Rows.Count).End(xlUp).Row
If Target.Row <> derLig Then Exit Sub
If Target.Value = "RM" Then
'il y a 6 valeurs à transférer
V1 = Me.Cells(derLig, 1): V2 = Me.Cells(derLig, 2): V3 = Me.Cells(derLig, 4)
V4 = Me.Cells(derLig, 8): V5 = Me.Cells(derLig, 9): V6 = Me.Cells(derLig, 11)
' Je teste les six variables, si au moins une est vide alors je définie la variable la_colonne
' avec la valeur de la dernière colonne vide, je le signale, j'efface la valeur "RM", je sélectionne la cellule vide et je quitte la macro
If V1 = "" Then la_colonne = 1
If V2 = "" Then la_colonne = 2
If V3 = "" Then la_colonne = 4
If V4 = "" Then la_colonne = 8
If V5 = "" Then la_colonne = 9
If V6 = "" Then la_colonne = 11
If la_colonne > 0 Then
msg = MsgBox("Une des valeurs n'est pas renseignée ! Veuillez vérifier, merci.", vbokoly)
Target.Value = ""
Me.Cells(derLig, la_colonne).Activate
Exit Sub
End If
'Ouvrir la feuill GM
With Worksheets("Gm")
Set Cel = .Columns(1).Find(Me.Cells(derLig, 1), , xlValues, xlWhole)
If Cel Is Nothing Then
Sheets("GM").Activate
.Unprotect Password:="afital"
'Recherche de la première ligne vide
lignVide = .Range("A" & .Rows.Count).End(xlUp).Row + 1
'Copie des valeurs dans la feuille "GM"
.Cells(lignVide, 1) = V1
.Cells(lignVide, 2) = V3
.Cells(lignVide, 4) = V6
.Cells(lignVide, 5) = V2
.Cells(lignVide, 8) = V4
.Cells(lignVide, 9) = V5
.Protect Password:="afital"
Else
MsgBox "Enregistrement déjà existant dans la base de données GM !"
End If
End With
End If
End Sub