bmwax
Messages postés15Date d'inscriptionmercredi 24 juin 2009StatutMembreDernière intervention 6 août 2009
-
7 juil. 2009 à 11:24
bmwax
Messages postés15Date d'inscriptionmercredi 24 juin 2009StatutMembreDernière intervention 6 août 2009
-
7 juil. 2009 à 13:37
Bonjour à tous, j'aimerais déclarer une liste de données string et faire une recherche de ces mots dans une boucle while pour différentes cellules d'un tableau Excel... Tout cela en VBA.
En "Francais", ca donnerait quelque chose comme ca:
list = {"aaa", "bbb", "ccc"}
for i = 1 to 10
if cells (i,1).value= un mot de la liste
end if
next i
Quelle serait la syntaxe pour une telle utilisation ?
PCPT
Messages postés13280Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201848 7 juil. 2009 à 13:23
salut,
encore trop vite faut croire ^^
Dim list() As Variant
'ReDim list(4)
Dim i as integer
list = Array("aa", "bb", "cc")
for i = 0 to ubound(list)
if cells (i,1).value=list(i) then
end if
next i
reste que la demande concerne sans doute de recherche "dans toute la liste" pour "plusieurs cellules", pas juste une cellule pour un élément
(sinon à quoi bon faire une liste)
Private Sub
UserForm_Click()
Dim list() As Variant
list = Array("aa", "bb", "cc")
'toute la première colonne
Dim i As Integer
For i = 1 To Columns(1).Find("", , , , xlByRows, xlNext).Row
Debug.Print CellContainsElement(i,
1, list)
'if CellContainsElement(i, 1, list) then
Next i
End Sub
Function CellContainsElement(ByRef RowIndex As Integer, ColumnIndex As Integer, ByRef vasList() As Variant) As Boolean
Dim i As Integer
For i = 0 To UBound(vasList)
If Cells(RowIndex, ColumnIndex).Value = vasList(i) Then
CellContainsElement = True
Exit For
End If
Next i
End Function