Expression VBA pour dire "au moins 3 numéros"

vincent noah

XLDnaute Junior
Bonsoir à tous

je cherche l’expression VBA pour dire : au moins trois numéro parmi une liste
voici mon code:

Code:
Sub g()
Dim c As Range, cpt As Long
    listeA =(12,18,19,7,5,13,10,4,14)
    For Each c In [A1:A200]
        If c.Value like 'contient au moin 3 numéros de la liste A   Then
        cpt = cpt + 1
    Next
    MsgBox cpt
End Sub
Merci de votre coup de main
a+
 
Dernière édition:

Si...

XLDnaute Barbatruc
Re : Expression VBA pour dire "au moins 3 numéros"

salut

Staple:D, ma proposition ne convient pas à l'exemple enfin fourni. Comme il est encore imprécis, je te refile la main (Split pourrait être une solution mais pour quelle liste ?).
 

Staple1600

XLDnaute Barbatruc
Re : Expression VBA pour dire "au moins 3 numéros"

Bonsoir à tous

Si...
Tu me refiles le tubercule, tu veux dire ;)
Donc en attendant mieux, une proposition sans VBA avec formule, colonne intermédiaire et MFC
1) en colonne B, recopier la formule suivante
Code:
=NB(CHERCHE({12;18;19;7;5;13;10;4;14};A1))=3
2) Sélection des valeurs en colonne A
3) Appliquer une mise en forme conditionnelle
avec cette formule : =$B1=VRAI

Ce qui donne le résultat ci-dessous
01MFC3val.png
 

job75

XLDnaute Barbatruc
Re : Expression VBA pour dire "au moins 3 numéros"

Bonjour à tous,

@ JM : si en A1 on a "13 14" ta formule en B1 renvoie VRAI.

Car le 4 est trouvé 2 fois, par 4 et 14.

Il faut délimiter la recherche par des espaces :

Code:
=NB(CHERCHE(" "&{12;18;19;7;5;13;10;4;14}&" ";" "&A1&" "))=3
A+
 

hassan.zer

XLDnaute Occasionnel
Re : Expression VBA pour dire "au moins 3 numéros"

Bonjour,

Petite astuce, quand tu note les élèves utilises plutot, une note par cellule.
Tu pourra réaliser ce que excel sait faire, travailler des données.

Voir qui a fait tous les devoirs, quel est le devoir le plus difficile le plus simple, voir le nombre d'élèves présents a chaque devoir, bref

En pj.

Cdt.
 

Pièces jointes

  • classeur note.xlsx
    11.6 KB · Affichages: 27
  • classeur note.xlsx
    11.6 KB · Affichages: 37
  • classeur note.xlsx
    11.6 KB · Affichages: 36

Staple1600

XLDnaute Barbatruc
Re : Expression VBA pour dire "au moins 3 numéros"

Bonjour à tous

[digression censée ne faire rire que ma personne les week-end de Coupe Davis]
Si...
Tu veux dire en reprenant le Spli...t ?
Une variante du Split de VBA ou le séparateur par défaut est le $ (AKA La Patate) ;)
[digression censée ne faire rire que ma personne les week-end de Coupe Davis]

NB: A la relecture, cette digression était dispensable car mon rire fut à peine audible.
Mais que ferai-je pas pour parler endives, tubercule et autres solonales ;)
 

Si...

XLDnaute Barbatruc
Re : Expression VBA pour dire "au moins 3 numéros"

re

seulement pour s'en payer une tranche, m'apporte rien au sujet,désolé:eek:.
[digestion]
je suis content de voir que tu as la frite Staple;); ton aka est emprunté aux "All Black" ?
[/digestion]
 

Staple1600

XLDnaute Barbatruc
Re : Expression VBA pour dire "au moins 3 numéros"

Re

Si...
[digressons, digressons il en restera toujours quelque chose]
Comment, Si... en bon anglophile/phone que vous semblez être ! ;)
Rien à voir avec le haka ............... mon AKA
[digressons, digressons il en restera toujours quelque chose]

NB: Le Bacon avec des endives, c'est bon, c'est ce qui explique mon tribute à peine voilé à Francis ;)(quoique les sources divergent ...)
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Expression VBA pour dire "au moins 3 numéros"

Re,

On peut se passer de la colonne B de JM, pour cela :

1) définir le nom test, la cellule A1 étant sélectionnée :

Code:
=NB(TROUVE(" "&{12;18;19;7;5;13;10;4;14}&" ";" "&Feuil1!$A1&" "))=3
2) définir la MFC sur toute la colonne A par la formule =test

Pour ceux qui ne jurent que par VBA cela peut se faire par ce code :

Code:
Sub MFC()
[A1].Select
ThisWorkbook.Names.Add "test", _
  "=COUNT(FIND("" ""&{12;18;19;7;5;13;10;4;14}&"" "","" ""&$A1&"" ""))=3"
[A:A].FormatConditions.Delete
[A:A].FormatConditions.Add xlExpression, Formula1:="=test"
[A:A].FormatConditions(1).Font.ColorIndex = 13
[A:A].FormatConditions(1).Interior.ColorIndex = 38
End Sub
Fichier joint.

A+
 

Pièces jointes

  • Classeur note elevé(1).xls
    52 KB · Affichages: 24
Dernière édition:

vincent noah

XLDnaute Junior
Re : Expression VBA pour dire "au moins 3 numéros"

Bonjour à tous !

Merci pour vos réponses , j'ai essayé le code de job75 et ça marche! ce Pb n'était pas facile ....:rolleyes:
***job75
**Staple1600
*Si..
Merci beaucoup.^je vous souhaite une excellent soirée .
A+
 

Si...

XLDnaute Barbatruc
Re : Expression VBA pour dire "au moins 3 numéros"

re

maintenant que Vincent est satisfait, je peux apporter quelques précisions
Comment, Si... en bon anglophile/phone que vous semblez être ! ;)
Rien à voir avec le haka ............... mon AKA

I know dear Staple ! But, with Find, LookAt:= :p
Regarde la pièce jointe 937554

Job, j'essaie de m'en tenir aux dires d'Alfred : il ne faut jurer de rien !;)
 

Pièces jointes

  • AKA.jpg
    AKA.jpg
    48.6 KB · Affichages: 23

job75

XLDnaute Barbatruc
Re : Expression VBA pour dire "au moins 3 numéros"

Bonjour à tous,

Le problème posé étant "au minimum 3 numéros" voici une MFC à 2 conditions :

Code:
Sub MFC()
[A1].Select
ThisWorkbook.Names.Add "calcul", _
  "=COUNT(FIND("" ""&{12;18;19;7;5;13;10;4;14}&"" "","" ""&$A1&"" ""))"
[A:A].FormatConditions.Delete
[A:A].FormatConditions.Add xlExpression, Formula1:="=calcul=3"
[A:A].FormatConditions(1).Font.ColorIndex = 13
[A:A].FormatConditions(1).Interior.ColorIndex = 38
[A:A].FormatConditions.Add xlExpression, Formula1:="=calcul>3"
[A:A].FormatConditions(2).Interior.ColorIndex = 3
End Sub
Fichier (2).

Bonne journée.
 

Pièces jointes

  • Classeur note elevé(2).xls
    53 KB · Affichages: 17

job75

XLDnaute Barbatruc
Re : Expression VBA pour dire "au moins 3 numéros"

Re,

Fichier (3) avec 3 conditions :

Code:
Sub MFC()
[A1].Select
ThisWorkbook.Names.Add "calcul", _
  "=COUNT(FIND("" ""&{12;18;19;7;5;13;10;4;14}&"" "","" ""&$A1&"" ""))"
[A:A].FormatConditions.Delete
[A:A].FormatConditions.Add xlExpression, Formula1:="=calcul=3"
[A:A].FormatConditions(1).Font.ColorIndex = 13
[A:A].FormatConditions(1).Interior.ColorIndex = 38 'rose
[A:A].FormatConditions.Add xlExpression, Formula1:="=calcul=4"
[A:A].FormatConditions(2).Interior.ColorIndex = 3 'rouge
[A:A].FormatConditions.Add xlExpression, Formula1:="=calcul>4"
[A:A].FormatConditions(3).Font.ColorIndex = 2 'blanc
[A:A].FormatConditions(3).Interior.ColorIndex = 1 'noir
End Sub
A+
 

Pièces jointes

  • Classeur note elevé(3).xls
    53 KB · Affichages: 25

Discussions similaires

Réponses
7
Affichages
435

Membres actuellement en ligne

Statistiques des forums

Discussions
312 338
Messages
2 087 397
Membres
103 535
dernier inscrit
moimeme1