Bonjour à tous,
J'ai besoin de faire un test dans un user form... la valeur saisie dans un textbox doit appartenir à une liste de valeur sinon la saisie doit être annulée...
Je ne veux pas suivre le méthode où l"on défini manuellement avec is array la liste des données comme par exemple comme cela
Sub test()
A = 45
If IsNumeric(Application.Match(A, Array(1, 5, 26, 45, 99), 0)) Then
MsgBox "c'est dedans!"
Else
MsgBox "c'est pas dedans!"
End If
End Sub
La liste est en effet amenée à évoluer et je veux que le code prenne en compte tout seul cette évolution un peu comme une fonction (=DECALER)
J'ai trouvé ce code qui ressemble à ce que je veux mais je n'arrive pas à le faire fonctionner. Il s'agit d'une liste de clients
Sub test()
Dim i As Long
Dim oRange As Range
For i = 1 To ActiveSheet.Cells.SpecialCells(XlCellType.xlCellTypeLastCell).Row
Set oRange = ActiveSheet.Cells(i, 1)
If InStr(1, oRange.Value, "u", vbTextCompare) Then
'# Si le mot de la colonne contient un 'u'...
oRange.EntireRow.Delete (xlShiftUp)
i = i - 1
End If
Next i
End Sub
en remplaçant u par le n° de client je voudrais dire que si :
- le n° existe OK le client est dans la liste des actifs
- le n° n'existe pas ds la liste, saisie bloquée
merci d'avance pour votre aide
J'ai besoin de faire un test dans un user form... la valeur saisie dans un textbox doit appartenir à une liste de valeur sinon la saisie doit être annulée...
Je ne veux pas suivre le méthode où l"on défini manuellement avec is array la liste des données comme par exemple comme cela
Sub test()
A = 45
If IsNumeric(Application.Match(A, Array(1, 5, 26, 45, 99), 0)) Then
MsgBox "c'est dedans!"
Else
MsgBox "c'est pas dedans!"
End If
End Sub
La liste est en effet amenée à évoluer et je veux que le code prenne en compte tout seul cette évolution un peu comme une fonction (=DECALER)
J'ai trouvé ce code qui ressemble à ce que je veux mais je n'arrive pas à le faire fonctionner. Il s'agit d'une liste de clients
Sub test()
Dim i As Long
Dim oRange As Range
For i = 1 To ActiveSheet.Cells.SpecialCells(XlCellType.xlCellTypeLastCell).Row
Set oRange = ActiveSheet.Cells(i, 1)
If InStr(1, oRange.Value, "u", vbTextCompare) Then
'# Si le mot de la colonne contient un 'u'...
oRange.EntireRow.Delete (xlShiftUp)
i = i - 1
End If
Next i
End Sub
en remplaçant u par le n° de client je voudrais dire que si :
- le n° existe OK le client est dans la liste des actifs
- le n° n'existe pas ds la liste, saisie bloquée
merci d'avance pour votre aide