Formule "FiltreActuelNo(3)

excelmann Messages postés 67 Statut Membre -  
Raymond PENTIER Messages postés 58219 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. Raymond PENTIER Messages postés 58219 Date d'inscription   Statut Contributeur Dernière intervention   17 485
     
    La fonction FiltreActuelNo n'existe pas dans Excel.
    Où as-tu trouvé la formule =FiltreActuelNo(3) ?
    0
    1. Raymond PENTIER Messages postés 58219 Date d'inscription   Statut Contributeur Dernière intervention   17 485
       
      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/
      0
    2. excelmann Messages postés 67 Statut Membre
       
      report_filtre_automatique.xls
      voila le lien vers le document
      0
  2. excelmann Messages postés 67 Statut Membre
     
    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.
    0
    1. Raymond PENTIER Messages postés 58219 Date d'inscription   Statut Contributeur Dernière intervention   17 485
       
      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 !
      0
  3. Raymond PENTIER Messages postés 58219 Date d'inscription   Statut Contributeur Dernière intervention   17 485
     
    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)
    0
    1. excelmann Messages postés 67 Statut Membre
       
      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.:)
      0
    2. excelmann Messages postés 67 Statut Membre
       
      Je pense qu'il a du créer une macro pour y arriver. Et ça je ne sais pas faire.
      Dommage
      0
    3. Raymond PENTIER Messages postés 58219 Date d'inscription   Statut Contributeur Dernière intervention   17 485 > excelmann Messages postés 67 Statut Membre
       
      L'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é ...
      0
    4. Mytå Messages postés 4246 Date d'inscription   Statut Contributeur Dernière intervention   958
       
      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å
      0