Fonction pour parcourir un tableau
Résolu/Fermé
sikasika
Messages postés
71
Date d'inscription
vendredi 14 décembre 2012
Statut
Membre
Dernière intervention
10 juillet 2014
-
22 oct. 2013 à 10:48
sikasika Messages postés 71 Date d'inscription vendredi 14 décembre 2012 Statut Membre Dernière intervention 10 juillet 2014 - 22 oct. 2013 à 17:25
sikasika Messages postés 71 Date d'inscription vendredi 14 décembre 2012 Statut Membre Dernière intervention 10 juillet 2014 - 22 oct. 2013 à 17:25
A voir également:
- Fonction pour parcourir un tableau
- Tableau croisé dynamique - Guide
- Fonction si et - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Tableau de combinaison loto 5/90 - Forum Excel
2 réponses
melanie1324
Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
Modifié par melanie1324 le 22/10/2013 à 10:56
Modifié par melanie1324 le 22/10/2013 à 10:56
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
sikasika
Messages postés
71
Date d'inscription
vendredi 14 décembre 2012
Statut
Membre
Dernière intervention
10 juillet 2014
3
22 oct. 2013 à 17:25
22 oct. 2013 à 17:25
merci beaucoup ça m'a beaucoup aidé