|
|
|
|
Bonjour,
je travaille actuellement à la création d'une liste pour une macro sur mon fichier. Je rentre les lignes suivantes (seules celles liées à mon probleme sont presentes) :
Dim Tab_LE() As String
If Left(UCase(Sheets("package").Cells(17, col).Value), 1) = "Y" Then
j = j + 1
ReDim Tab_LE(j)
Tab_LE(j - 1) = Sheets("package").Cells(16, col).Value
End If
Mon problème est le suivant :
Ma table Tab_LE ne contient que la dernière valeur de la boucle or je voudrais qu'elle contiennnent tous les élements répondant aux critères. Que dois je changer?
Merci de votre aide
Merci lupin!!
|
Re :
Function InList(Valeur As String, Tableau() As String, NbElements As Integer) As Boolean ' --------------------------------------------------------------- ' Fonction qui retourne VRAI si la valeur existe dans le Tableau ' --------------------------------------------------------------- Dim i As Integer Dim trouve As Boolean i = 0 trouve = False InList = False While ((i < NbElements) And (Not (trouve))) If UCase(Tableau(i)) = UCase(Valeur) Then trouve = True End If i = i + 1 Wend InList = trouve End Function je ne vois pas d'erreur dans ta fonction ! outre le fait que tu n'opère pas de contrôle sur les données avant de tester, ça doit tourner ! If ( tableau(i) <> Null ) Then ... ...If ( Valeur <> Null ) Then ... Lupin ~L'essentiel est invisible pour les yeux~ ~On ne voit bien qu'avec le coeur~ |
Re merci,
|
Re:
Sub Test()
Dim Tab_LE() As String
Dim i, j As Integer
j = 1
For i = 1 To 7
If Left(UCase(Sheets("feuil1").Cells(i, 2).Value), 1) = "Y" Then
ReDim Preserve Tab_LE(j) As String
Tab_LE(j) = Sheets("feuil1").Cells(i, 1).Value
j = j + 1
End If
Next i
For i = 1 To (j - 1)
MsgBox Tab_LE(i)
Next i
End Sub
~L'essentiel est invisible pour les yeux~ ~On ne voit bien qu'avec le coeur~ |