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

  • Initiateur de la discussion Initiateur de la discussion vincent noah
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

V

vincent noah

Guest
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 modification par un modérateur:
Re : Expression VBA pour dire "au moins 3 numéros"

salut

Staple😀, 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 ?).
 
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
 
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+
 
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

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

Re

Bonsoir à tous
Si...
Tu me refiles le tubercule, tu veux dire 😉]

n'étant pas du genre à laisser mes potes dans la purée😉, je joins un petit fichier avec 3 cas, le dernier reprenant la MfC Staple-Job, les 2 autres (pas beaucoup mieux) reprenant le Split.
 

Pièces jointes

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 😉
 
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é😱.
[digestion]
je suis content de voir que tu as la frite Staple😉; ton aka est emprunté aux "All Black" ?
[/digestion]
 
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:
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

Dernière édition:
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 ....🙄
***job75
**Staple1600
*Si..
Merci beaucoup.^je vous souhaite une excellent soirée .
A+
 
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:= 😛
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: 29
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

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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
410
Réponses
5
Affichages
725
  • Question Question
Microsoft 365 Cpier/coller en VBA
Réponses
7
Affichages
783
O
Réponses
5
Affichages
2 K
G
Réponses
0
Affichages
1 K
guiboubou233
G
Retour