Fonction Boucle NB.SI

Fermé
eRaZz Messages postés 5 Date d'inscription mardi 2 février 2016 Statut Membre Dernière intervention 12 janvier 2018 - Modifié le 12 janv. 2018 à 12:35
eRaZz Messages postés 5 Date d'inscription mardi 2 février 2016 Statut Membre Dernière intervention 12 janvier 2018 - 12 janv. 2018 à 13:38
Bonjour,

J'aimerai créer une fonction de telle facon qu'elle effectue une boucle en nombre si tant qu'une condition n'est pas remplie.

=NB.SI('BDD'$C:$C;SI(STXT(B4;(i);9)<>"";STXT(B4;(i);9);0))

avec i = 1 puis croissant par multiple de 9. soit 1 9 18 27 ....

Pour l'instant ma fonction donne ceci :

Function loop_coop(v, champRech As Range)

Dim i As Integer
Dim x As Integer

i = 1
x = 1
For i = 1 To 9
For x = 1 To 45

 

  If Mid(v, x, 9) <> "" Then
  
   u = CountIf(champRech, Mid(v, i, 9), 0)
   
   Else
   
   u = "0"
   
  
    
   End If
   u = u - 1 + u
   Next x
   Next u
   Next i
       
   
 End Function


EDIT : Ajout des balises de code (la coloration syntaxique).

Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.
Jordane45

Merci d'avance pour votre aide et n'hésitez pas si vous avez des questions ou si je n'ai pas été assez clair !
A voir également:

1 réponse

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
12 janv. 2018 à 12:41
Bonjour,

Je confirme.. ce n'est pas très clair :-)

Déjà :
u = u - 1 + u

Ben.. u = 2u -1 alors... ?

Ensuite...

Tu as 3 NEXT
Next x
   Next u
   Next i

... mais je ne vois que deux FOR
For i = 1 To 9
For x = 1 To 45





0
eRaZz Messages postés 5 Date d'inscription mardi 2 février 2016 Statut Membre Dernière intervention 12 janvier 2018
12 janv. 2018 à 13:38
le u c'est pour additionner les NB.SI a chaque nouveau critère dans la boucle.

en effet pour le next c'est une erreur mais ca ne me donne pas une formule correcte pour autant...
0