Rechercher plusieurs valeurs dans une plage de cellules

Egruat

XLDnaute Occasionnel
Bonjour,

Dans une colonne de date (année uniquement), je recherche en même temps plusieurs dates. Par exemple, 1999, 2002, 2005, 2011.

Existe-il une fonction me permettrant d'effectuer une recherche simultanée de plusieurs valeurs dans une plage de cellules donnée ?

Merci de votre aide !
 

job75

XLDnaute Barbatruc
Bonjour Egruat,
Existe-il une fonction me permettrant d'effectuer une recherche simultanée de plusieurs valeurs dans une plage de cellules donnée ?
Pas une fonction mais des formules, nombreux exemples sur le forum.

Joignez un fichier avec un exemple du résultat souhaité.

A+
 

Robert

XLDnaute Barbatruc
Bonjour Egruat, bonjour le forum,

Peut-être comme ça :

VB:
Sub Macro1()
Dim TA() As Variant 'déclare la variable TA (Tableau des Années)
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim COL As Integer 'déclare la variable COL (COLonne)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)

TA = Array(1999, 2002, 2005, 2011) 'définit le tableau des années TA
Set O = Worksheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
COL = 1 'définit la colonne (à adapter à ton cas)
DL = O.Cells(Application.Rows.Count, COL).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne COL de l'onglet O
TV = O.Range(O.Cells(1, COL), O.Cells(DL, COL)) 'définit le tableau des valeurs TV
For J = 0 To UBound(TA, 1) 'boucle 1 : sur toutes les années J du tableau des valeurs TA
  For I = 1 To UBound(TV, 1) 'boucle 2 : sur toutes les lignes I du tableau des valeurs TV
  'si les années coïncident, message (tu n'as pas précisé ce que tu voulais que le code fasse...)
  If TV(I, 1) = TA(J) Then MsgBox "Année " & TA(J) & " trouvée dans la ligne " & I & " !"
  Next I 'prochaine ligne de la boucle 2
Next J 'prochaine date de la boucle 1
End Sub
[Édition]
Bonjour Job, nos posts se sont croisés...
 

job75

XLDnaute Barbatruc
Re, salut Robert,
Je cherche à additionner les valeurs des années 1999, 2003, 2015, 2018)
Pas compliqué :
Code:
=SOMME.SI(A:A;1999;B:B)+SOMME.SI(A:A;2003;B:B)+SOMME.SI(A:A;2015;B:B)+SOMME.SI(A:A;2018;B:B)
Plus compliqué (à comprendre) :
Code:
=SOMMEPROD(SOMME.SI(A:A;{1999;2003;2015;2018};B:B))
A+
 

zebanx

XLDnaute Accro
Bonjour à tous,

Moins souple que la formule de JOB75 (merci)
=SOMMEPROD(--(A2:A100={1999\2003\2015\2018})*(B2:B100))

@+
 
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour zebanx,

Chez moi ta formule ne passe pas.

A priori une matrice avec l'antislash comme séparateur ça n'existe pas...

A+
 

zebanx

XLDnaute Accro
Re-

Je te joins un fichier. Ta formule est bien meilleure, elle fonctionne même s'il y a des valeurs "$".

@+
 

Fichiers joints

job75

XLDnaute Barbatruc
Re,

Avec le point comme séparateur matriciel pas de problème.

Note que le -- est inutile et qu'il est inutile de mettre B2:B100 entre parenthèses.

A+
 

zebanx

XLDnaute Accro
Re-

Je te remercie de l'information et d'avoir regardé la formule.

Bizzarement, la formule ne fonctionne pas avec des points sur mon PC. Que ce soit avec des chiffres ou des lettres, il faut utiliser "\" et non le "."
Ca doit être ma vieille version d'excel.
Mais bon, ta formule me convient et elle fait mieux.

Bonne soirée
@+
 

Egruat

XLDnaute Occasionnel
Merci beaucoup !!! La formule =SOMMEPROD(SOMME.SI(A:A;{1999;2003;2015;2018};B:B)) fonctionne bien.

Si maintenant je cherche à, non pas additionner les valeur de la colonne B mais à mettre une valeur fixe comme 10 par exemple si les valeurs 1999, 2003, 2015 et 2018 sont rencontrées dans la colonne A ?
 

job75

XLDnaute Barbatruc
Bonjour Egruat, le fil,

Formule en C2 à tirer vers la bas :
Code:
=SI(OU(A2={1999;2003;2015;2018});10;B2)
A+
 

Egruat

XLDnaute Occasionnel
Bonjour,
J'ai un petit problème. Je cherche à savoir, dans le fichier ci-joint, si certaines valeurs sont bien présentes dans ma liste de données. Comment faire ?

Merci encore
 

Fichiers joints

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas