Problème de conditions IF en VBA

Bonjour à tous !

Je suis tout nouveau sur ce forum en tant qu'inscrit.

J'ai toujours été satisfait des réponses données ici.

Je tente ma chance avec mon problème de VBA.

En pièce jointe vous avez à disposition mon fichier EXCEL

Je vous explique, cette macro est censée ajouter au Compteur_Ok la valeur du compteur + 1 à chaque fois que dans la colonne W, un commentaire est écris par un NNI du sheet LISTE et que la phrase comporte "Rappel de l'utilisateur"

Hors j'ai un soucis, la première fois que toutes les conditions sont vraies, le compteur prend sa valeur +3, et ensuite à chaque fois qu'elles sont vraies dans la même case, il ajoute bien la valeur du compteur +1

Pouvez-vous m'aider SVP ?

Cordialement

Salut,

C'est la taille de ton tableau ArrayNNI, tu l'initialise 17 (Dim ArrayNNI(17)), donc 18 valeurs

Mais tu n'as que 16 codes NNI (lignes 3 à 18), donc il recherche une valeur vide et trouve une correspondance.

Il est plus sur de déclarer un tableau Dim ArrayNNI (1 To 1) et de le redimensionner quand tu incrémentes le compteur Redim Preserve ArrayNNI (1 to cpt) pas exemple.

Jers

Merci de ta réponse !

Quel boulet ... lol.

Bon effectivement ça fonctionne correctement, sauf si les conditions sont vraies deux fois avec le meme NNI, le compteur ne s'incrémente pas de un.

Une idée de ce qu'il faudrait rajouter ?

Merci d'avance !

Si tu veux que le compteur ne s'incrémente qu'une fois pour chaque NNI (même si celui-ci apparaît dans plusieurs cellule différente),

il faut inverser des boucles

For i = 0 To UBound(ArrayNNI)
    For a = 1 To LastRow
        If condition = VRAI Then
                    cpt_OK = cpt_OK + 1
                    Sheets("Feuil1").Range("AB1").Value = cpt_OK
                    Exit For
                End If
        Next a
 Next i

Jers

Je vois ce que tu veux dire, j'ai mal expliqué mon problème.

En fait c'est dans le cas ou c'est le même NNI qui indique deux fois d'affiler la phrase 'Rappel de l'utilisateur'. C'est uniquement dans ce cas que le compteur ne s'incrémente que d'une fois au lieu de deux.

en fait tu veux que pour la cellule W2, le compteur indique 3, c'est cà ?

Oui voilà c'est ça

Dans ce cas, je pense qu'il faut compter le nombre de fois qu'apparait le numéro NNI.

Une proposition dans le fichier joint.

Jers

11yeye.xlsm (23.58 Ko)

Astucieux de mettre un compteur de NNI. C'est super. Merci à toi Jers19.

Rechercher des sujets similaires à "probleme conditions vba"