J'ai trouvé pour vérifier si cela existe déjà !
If InStr(Me.VALEURS.Value, Me.ID_CHOIX.Column(1)) <> 0 Then MsgBox ("Attention cela existe déjà !")
et pour tester si la valeur n'existe pas...
If InStr(Me.VALEURS.Value, Me.ID_CHOIX.Column(1)) = 0 Then MsgBox ("La valeur n'existe pas !")
Il me reste à trouver comment détecter la chaine si elle existe et l'enlever... attention aux "; "...
J'ai trouvé ceci
Me.VALEURS.Value = Replace(Me.VALEURS.Value, Me.ID_CHOIX.Column(1), "")
Mais j'ai un problèmes avec le ";", comment lui dire d'enlever aussi le ";" qui se trouve derrière lui SAUF si celui-ci n'a pas de ";" (première Valeur...)
Me.VALEURS.Value = Replace(Me.VALEURS.Value, "; " & Me.ID_CHOIX.Column(1), "")
Idem si j'efface et qu'il ne reste plus rien... ? il faudrait que la variable soit NULL
Certainement pas le top, mais voilà... ![:ptdr:](https://www.developpez.net/forums/images/smilies/ptdr.gif)
1 2 3 4 5 6 7 8 9 10 11
| Private Sub Commande4_Click()
Dim nbrmot As Integer
Dim unermot As String
If InStr(Me.VALEURS.Value, Me.ID_CHOIX.Column(1)) = 0 Then MsgBox ("Pas ce mot !"): Exit Sub
nbrmot = Len(Me.ID_CHOIX.Column(1))
unermot = Left(Me.VALEURS.Value, nbrmot)
If InStr(Me.VALEURS.Value, ";") = 0 Then
If unermot = Me.ID_CHOIX.Column(1) Then Me.VALEURS.Value = ""
End If
If unermot = Me.ID_CHOIX.Column(1) Then Me.VALEURS.Value = Replace(Me.VALEURS.Value, Me.ID_CHOIX.Column(1) & "; ", "") Else Me.VALEURS.Value = Replace(Me.VALEURS.Value, "; " & Me.ID_CHOIX.Column(1), "")
End Sub |
Partager