Problème avec CountIf(plage cellules, = True)

Bonsoir le forum,

Actuellement en train de rendre compatible pour Windows, un gros tableau qui tourne sur MAC.

Un bout de code qui marche très bien sur MAC ne fonctionne pas du tout sur Windows...

Le code:

If WorksheetFunction.CountIf(Range("B23:B34"), "=" & True) = 0 Then
     MsgBox "Vous n'avez sélectionné aucune ""Réf(s)""... ", vbExclamation, "Ooups !"
     Exit Sub
End If

La plage de cellules ("B23:B34") retourne "VRAI" ou "FAUX" seulement... (Elles sont associées à des case à cocher)

Ce que j'ai déjà essayé et qui ne marche pas:

If WorksheetFunction.CountIf(Range("B23:B34").Value, "=" & True) = 0 Then
If Application.WorksheetFunction.CountIf(Range("B23:B34"), "=" & True) = 0 Then
If Application.WorksheetFunction.CountIf(Range("B23:B34").Value, "=" & True) = 0 Then

A chaque fois, ERREUR : "Variable objet ou variable de bloc With non définie"

Voilà ! Si quelqu'un voit autre chose...

Bonsoir,

Application n'est pas nécessaire.

Essaie :

If WorksheetFunction.CountIf(Range("B23:B34"), "VRAI") = 0 Then

ou :

If WorksheetFunction.CountIf(Range("B23:B34"), True) = 0 Then

Je n'ai pas testé.

Bonjour MFerrand,

C'est bon sa fonctionne !!!

La bonne réponse était:

If WorksheetFunction.CountIf(Range("B23:B34"), True) = 0 Then

Merci beaucoup !

Merci du retour ! J'enregistre...

CountIf est assez instable en VBA selon le type de données du critère. Une plage est attendue en 1er argument, mais le 2nd est reconnu sous forme chaîne... Je pense que cela vient de là. J'ai déjà expérimenté pour des valeurs numériques décimales où ça ne renvoyait rien avant qu'on les convertisse en Double, mai pas encore vu le cas de booléens.

Cordialement.

Rechercher des sujets similaires à "probleme countif plage true"