Formule "FiltreActuelNo(3)

Bonjour,

J'essaye de reporter une valeur filtrée par filtre automatique dans une cellule avec la formule =FiltreActuelNo(3), et ça me renvoie le message suivant #NOM?
Je suis sous excel 2004 sur mac.

Je ne trouve plus la solution. Pouvez vous m'aider? merci d'avance

En colonne C1 je mets "=COLONNE()" ça me renvoie la veleur "3"
Mon filtre automatique est placé sur C10

J'aimerais avoir en A5 la valeur (textuelle) filtrée en colonne C. Par ex COC ou CCW ou encore SW

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    La fonction FiltreActuelNo n'existe pas dans Excel.
    Où as-tu trouvé la formule =FiltreActuelNo(3) ?
    1. Contributeur
      Même en relisant plusieurs fois ta demande, je n'arrive pas du tout à deviner ce que tu essaies de faire.
      Envoie ton fichier Excel, avec le plus d'explications possibles, à l'aide de https://www.cjoint.com/
    2. report_filtre_automatique.xls
      voila le lien vers le document
  2. J'avais déja posé ce sujet ici il y a longtemps, et c'est là qu'on m'avait donné cette solution. Mais je n'arrive plus à la faire fonctionner sur un nouveau tableau.
    1. Contributeur
      C'est probablement parce que l'auteur de la solution avait créé une formule personnalisée.
      Mais sans le fichier, impossible de deviner ce qu'il avait mis dedans !
  3. Contributeur
    Salut.
    • J'ai examiné TON fichier ; j'aurais aimé voir le fichier qui avait résolu ton problème la première fois ...
    • Il n'y a vraiment que 4 possibilités (CCW, COC, FAR, SW) ?
    • Je ne vois pas bien l'intérêt d'une formule, alors qu'il est si facile et rapide de saisir en A5 ce qu'on lit juste à côté, en dessous de C10 !
    • Que se passe-t-il si l'utilisateur du fichier filtre deux valeurs au lieu d'une seule ?

    C'est bien, la retraite ! Surtout aux Antilles ... :-)
    Raymond (INSA, AFPA, CF/R)
    1. Re,
      Non il peut y avoir jusqu'à 12 possibilités voire plus.
      Il n'y aura toujours qu'une valeur de filtrée sur ce champ.
      L'utilité est liée à plusieurs utilisateurs qui ne sont pas forcément des "habitués".
      Je crée donc chaque fois que possible des "automatismes" pour éviter les loupés et les erreurs.
      Le lien vers le fichier où cela fonctionnait
      Merci d'avance, même si on ne trouve pas la solution là maintenant.:)
    2. Je pense qu'il a du créer une macro pour y arriver. Et ça je ne sais pas faire.
      Dommage
    3. Contributeur
      @excelmannL'examen de ce dernier fichier m'a montré qu'il ne s'agit ni d'une formule person-nalisée, ni bien entendu d'une fonction ; il semblerait plutôt que ce soit le nom d'une macro. Mais je n'ai pas trouvé trace de cette macro dans le fichier !
      Désolé ...
    4. Contributeur
      Salut le Forum

      Il existe bien une fonction personnalisée dans le fichier.
      Function FiltreActuelNo(col, Optional typeCol As String)
      ' de Myta-CCM
      feuille = Application.Caller.Parent.Name
      Application.Volatile
      If Sheets(feuille).FilterMode Then
      If Sheets(feuille).AutoFilter.Filters.Item(col).On Then
      temp = ActiveSheet.AutoFilter.Filters.Item(col).Criteria1
      If Left(temp, 2) = ">=" Or Left(temp, 2) = "<=" Then
      o = Left(temp, 2): n = Mid(temp, 3)
      Else
      If Left(temp, 1) = "=" Or Left(temp, 1) = ">" Or Left(temp, 1) = "<" Then
      o = Left(temp, 1): n = Mid(temp, 2)
      Else
      n = temp
      End If
      End If
      If typeCol = "D" Then n = Format(n, "dd/mm/yy")
      temp = o & n
      '---
      If Sheets(feuille).AutoFilter.Filters.Item(col).Operator Then
      oper = IIf(Sheets(feuille).AutoFilter.Filters.Item(col).Operator = 1, " ET ", " OU ")
      On Error Resume Next
      Err = 0
      temp2 = Sheets(feuille).AutoFilter.Filters.Item(col).Criteria2
      If Err = 0 Then
      If Left(temp2, 2) = ">=" Or Left(temp2, 2) = "<=" Then
      o = Left(temp2, 2): n = Mid(temp2, 3)
      Else
      If Left(temp2, 1) = "=" Or Left(temp2, 1) = ">" Or Left(temp2, 1) = "<" _
      Then o = Left(temp2, 1): n = Mid(temp2, 2)
      End If
      If typeCol = "D" Then n = Format(n, "dd/mm/yy")
      temp2 = o & n
      Else
      oper = ""
      End If
      End If
      FiltreActuelNo = temp & oper & temp2
      Else
      FiltreActuelNo = ""
      End If
      Else
      FiltreActuelNo = ""
      End If
      End Function

      Mytå