Fonction pour parcourir un tableau
Résolu
sikasika
Messages postés
71
Date d'inscription
Statut
Membre
Dernière intervention
-
sikasika Messages postés 71 Date d'inscription Statut Membre Dernière intervention -
sikasika Messages postés 71 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai besoin d'aide s'il vous plaît
J'ai besoin de créer une fonction qui me permettra de diviser un nombre sur un autre
mais ces nombres là je dois les trouver sur un tableau sous des conditions.
Là ou je bloque: comment parcourir un tableau de deux ligne jusqu'à pouvoir trouver un nombre donné et sélectionner la valeur de la cellule correspondante dans la deuxième colonne
j'ai essayé avec ça :
Function kPx(x As Double, k As Double, Tble_mortalité As Range) As Double
Application.Volatile
Dim i, j As Integer
Dim lf, lx As Double
For i = 1 To 112
If Range("A&i").Value <> x Then
i = i + 1
Else
lx = Range("B&i").Value
End Function
je n'ai pas encore terminer le code mais j'aimerai juste savoir si c'est correct sur tout au niveau de Range ("A&i").value , est ce que ça va parcourir le tableau en comparant le x avec les valeurs de toutes les cellules de la première colonne et s'arrêter quand il trouvera ll'égalité
j'ai besoin d'aide s'il vous plaît
J'ai besoin de créer une fonction qui me permettra de diviser un nombre sur un autre
mais ces nombres là je dois les trouver sur un tableau sous des conditions.
Là ou je bloque: comment parcourir un tableau de deux ligne jusqu'à pouvoir trouver un nombre donné et sélectionner la valeur de la cellule correspondante dans la deuxième colonne
j'ai essayé avec ça :
Function kPx(x As Double, k As Double, Tble_mortalité As Range) As Double
Application.Volatile
Dim i, j As Integer
Dim lf, lx As Double
For i = 1 To 112
If Range("A&i").Value <> x Then
i = i + 1
Else
lx = Range("B&i").Value
End Function
je n'ai pas encore terminer le code mais j'aimerai juste savoir si c'est correct sur tout au niveau de Range ("A&i").value , est ce que ça va parcourir le tableau en comparant le x avec les valeurs de toutes les cellules de la première colonne et s'arrêter quand il trouvera ll'égalité
A voir également:
- Fonction pour parcourir un tableau
- Tableau word - Guide
- Fonction si et - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Imprimer un tableau excel - Guide
2 réponses
Bonjour,
Non ca ne s'arrêtera pas quand ca sera terminé, pas avec ton code. Ton code ne s'arrêtera que lorsqu'il aura parcouru les 112 lignes. Mais il faut le modifier comme suit :
Function kPx(x As Double, k As Double, Tble_mortalité As Range) As Double
Application.Volatile
Dim i, j As Integer
Dim lf, lx As Double
For i = 1 To 112
If Range("A"&i).Value <> x Then
i = i + 1
Else
lx = Range("B"&i).Value
End Function
Si tu veux que ta fonction s'arrête dès que ta valeur est trouvée :
Function kPx(x As Double, k As Double, Tble_mortalité As Range) As Double
Application.Volatile
Dim i, j As Integer
Dim lf, lx As Double
i = 1
do while Range("A"& i).Value <> x Then and i <112 'tant que la cellule de la colonne A et de la ligne i est différente de x et i inférieur à 112
i = i + 1
loop 'on passe à la ligne suivante
if i <> 112
lx = Range("B"& i).Value
end if
End Function
Non ca ne s'arrêtera pas quand ca sera terminé, pas avec ton code. Ton code ne s'arrêtera que lorsqu'il aura parcouru les 112 lignes. Mais il faut le modifier comme suit :
Function kPx(x As Double, k As Double, Tble_mortalité As Range) As Double
Application.Volatile
Dim i, j As Integer
Dim lf, lx As Double
For i = 1 To 112
If Range("A"&i).Value <> x Then
i = i + 1
Else
lx = Range("B"&i).Value
End Function
Si tu veux que ta fonction s'arrête dès que ta valeur est trouvée :
Function kPx(x As Double, k As Double, Tble_mortalité As Range) As Double
Application.Volatile
Dim i, j As Integer
Dim lf, lx As Double
i = 1
do while Range("A"& i).Value <> x Then and i <112 'tant que la cellule de la colonne A et de la ligne i est différente de x et i inférieur à 112
i = i + 1
loop 'on passe à la ligne suivante
if i <> 112
lx = Range("B"& i).Value
end if
End Function