Fonction Boucle NB.SI

eRaZz 5 Messages postés mardi 2 février 2016Date d'inscription 12 janvier 2018 Dernière intervention - 12 janv. 2018 à 12:05 - Dernière réponse : eRaZz 5 Messages postés mardi 2 février 2016Date d'inscription 12 janvier 2018 Dernière intervention
- 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 !
Afficher la suite 

2 réponses

Répondre au sujet
jordane45 19670 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 14 janvier 2018 Dernière intervention - 12 janv. 2018 à 12:41
0
Utile
1
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





eRaZz 5 Messages postés mardi 2 février 2016Date d'inscription 12 janvier 2018 Dernière intervention - 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...
Commenter la réponse de jordane45