Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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 !
 

Robert

XLDnaute Barbatruc
Repose en paix
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
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 ?
 

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
 

Pièces jointes

  • Exemple.xlsx
    9.6 KB · Affichages: 27

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…