Excel 2007

Résolu
Bonjour,

Je suis entrain de faire un tableau récapitulant des formations. J'aimerais savoir comment vous faites pour déterminer le nombre de cellules contenant une même année dans une liste de date:

Par exemple: J'ai 5 dates dans une liste
01/01/2010
03/04/2011
24/05/2011
23/05/2011
07/09/2011

Quelle formule utilisée pour déterminer le nombre de cellule ayant l'année 2011 ?
J'ai utilisé NB.SI; Nbval

Deuxième question j'aimerais réaliser une macro qui me permet de recherche la ligne grâce a un nom.
Par exemple si je tape BERNARD et que j'appuie sur le bouton, il me trouve l'ensemble des formations qu'il a effectué.

Je vous remercie par avance

3 réponses

  1. 1) nombre de dates :
    =SOMMEPROD((ANNEE(A1:A5)=2011)*1)
    1
    1. je vous remercie
      0
  2. Contributeur
    Bonjour
    il y a sans doute moyen de traiter votre seconde question sans macro, mais il faudrait (avec ou sans macro) en savoir plus sur l'organisation de vos données.
    Pouvez vous placer un modèle sur:
    htttp://www.cjoint.com
    et revenir ici placer le lien donné par le site.
    à vous lire
    crdlmnt
    Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
    0
    1. voila . http://cjoint.com/?3Koqe7wWrJV

      J'aimerai en tapant le nom d'une personne par exemple thibaud que la macro m'affiche toute la ligne sans passer par une filtre. Je vous remercie
      0
    2. Le filtre est tellement simple (pas besoin de taper quoi que ce soit) , pourquoi faire compliqué ???
      0
    3. effectivement le filtre est très simple et plus facile pour ce type de donnée mais si un jour j'ai besoin de faire cela j'aimerai savoir comment faire .
      0
    4. Avec des si ...
      Quel que soit le type de données, le filtre reste le moyen le plus simple. Pour des critères complexes, Il suffit d'ajouter une colonne destinée au filtrage.
      0
  3. Re,

    2) Essaies ce code
    Private Sub CommandButton1_Click()
    Static cel As Range
    Dim varCherche As Variant
    
    varCherche = Range("B1").Value  'Valeur à chercher
    If cel Is Nothing Then Set cel = Range("A3")  'première cellule de la colonne
    Set cel = cel.EntireColumn.Find(varCherche, cel, xlValues, xlWhole)
    If cel Is Nothing Then
      MsgBox "Pas trouvé"
    Else
      cel.Activate
    End If
    
    End Sub
    
    0