EXCEL à VBA

Résolu
Cha69 Messages postés 36 Statut Membre -  
Cha69 Messages postés 36 Statut Membre -
Bonjour,

je travaille sur excel et vba, je voudrai savoir comment intégrer la fonction countif (nb.si) dans l'éditeur VBA.
J'en ai besoin, parce que je fais une boucle et dans le calcul il y a countif.

Merci d'avance
Configuration: Windows XP
Internet Explorer 6.0

5 réponses

  1. Cha69 Messages postés 36 Statut Membre 4
     
    non, désolé, je croyais que ça marchait mais non!! il met la ligne en rouge mais je ne comprends pas pourquoi, c'est pour ça que j'ai cru que c'était countif.

    voilà ce que j'ai écrit (numero_colonne est un paramètre de la fonction)

    For i = 6 To 51 Step 3
    If Application.CountIf(Range(ListeOp, Cells(i, numero_colonne)) = 0 Then
    a = 0
    ElseIf Application.CountIf(Range(ListeEqt, Cells(i+1,1)) = 0 Then
    a = 0
    Else: a = Debit(Cells(i, numero_colonne), Cells(i + 1, numero_colonne), Vapeur)

    End If

    somme = somme + a
    a = 0

    Next
    0
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    si listeop est un nom de variable
    Application.CountIf(Range(ListeOp), Cells(i, numero_colonne)) = 0 Then

    si listeop est un nom de groupe de cellule
    Application.CountIf(Range("ListeOp"), Cells(i, numero_colonne)) = 0 Then
    edit: 14:23h
    effectivement, je m'étais planté dans les parenthèses (et encore maintenant... )Donc, excuses moi pour mon coup de gueule.
    0
  3. Cha69 Messages postés 36 Statut Membre 4
     
    c'est bon, les parenthèses étaient mal placées.
    Merci Michel_m
    est ce que je peux encore abusé de ton aide?

    quand j'écris:

    Function Conso_jour(numero_colonne As Integer, utilite As String)

    ' Déclaration des variables

    Dim somme As Integer
    Dim a As Integer
    Dim i As Integer

    ' Boucle de calculs

    For i = 6 To 51 Step 3
    If Application.CountIf(Range(ListeOp), Cells(i, numero_colonne)) = 0 Then
    a = 0

    ElseIf Application.CountIf(Range(ListeEqt), Cells(i + 1, 1)) = 0 Then
    a = 0

    Else: a = Debit(Cells(i, numero_colonne), Cells(i + 1, numero_colonne))

    End If

    somme = somme + a
    a = 0

    Next

    Conso_jour = somme

    End Function

    il n'arrive pas à calculer, je ne sais pas ou est l'erreur, je ne suis pas sure qu'il sache qu'elle est la colonne selectionnée pour le calcul.
    pourtant c'est un paramètre de la fonction.
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Cha69 Messages postés 36 Statut Membre 4
     
    erreur de ma part, ça marche !!
    OUF !!!
    0