Partager via

Dysfonctionnements de la fonction FILTRE()

Anonyme
2022-07-27T14:40:44+00:00

Bonjour,

Je dispose de Microsoft 365 Apps for Business et Windows 10. J'utilise la fonction FILTRE(), avec des références structurées, pour aller chercher une liste d'identifiants dans un tableau en fonction d'une valeur particulière d'une autre colonne de ce tableau. Le classeur des données étant différent du classeur de la formule, je sais que le premier classeur doit être ouvert.

=FILTRE(PACTE_EntitéC1C2_data.xlsm!Ta_Cor_Vendeur[ID_VENDEUR];PACTE_EntitéC1C2_data.xlsm!Ta_Cor_Vendeur[ID_PROJET]=$K$16)

Je vais chercher les Vendeurs dans une table de correspondance en fonction du code ID_PROJET. Ça fonctionne.

Cependant la fonction me semble très capricieuse. Si je met une apostrophe afin de copier la formule, je n'arrive plus à supprimer l'apostrophe à moins de faire des retours pour revenir à l'état initiale.

De même, j'essaie d'introduire une 2° condition avec *, pas moyen, la formule se transforme en texte.

=FILTRE(PACTE_EntitéC1C2_data.xlsm!Ta_Cor_Vendeur[ID_VENDEUR];(PACTE_EntitéC1C2_data.xlsm!Ta_Cor_Vendeur[ID_PROJET]=$K$16)*(PACTE_EntitéC1C2_data.xlsm!Ta_Cor_Vendeur[ACTION]="En cours");"")

Pouvez-vous m'expliquer pourquoi je ne peux pas effacer l'apostrophe et pourquoi seul un retour annulation fonctionne ?

De même, quelle serait la bonne syntaxe pour combiner les 2 conditions : dans la colonne ID_PROJET et la colonne ACTION ?

C'est une fonction très puissante mais déroutante, probablement que je n'ai pas tout compris !

Merci d'avance

Microsoft 365 et Office | Excel | Pour les entreprises | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

5 réponses

  1. Hecatonchire 53,700 Points de réputation Modérateur bénévole
    2022-07-29T13:16:12+00:00

    Bonjour

    Pour moi j'ai répondu à ta 2eme question. C'est ta syntaxe qui ne va pas

    Dans tes formules

    =FILTRE(PACTE_EntitéC1C2_data.xlsm!Ta_Cor_Vendeur[ID_VENDEUR];(PACTE_EntitéC1C2_data.xlsm!Ta_Cor_Vendeur[ID_PROJET]=$K$18)*(PACTE_EntitéC1C2_data.xlsm!Ta_Cor_Vendeur[ACTION]="Arrété");"")

    le 1er argument de filtre doit être tout ton tableau (ou du moins la plage de colonne utilisé dans le 2eme argument)!

    PACTE_EntitéC1C2_data.xlsm!Ta_Cor_Vendeur[#Tout] =>Avec entête

    ou

    PACTE_EntitéC1C2_data.xlsm!Ta_Cor_Vendeur[#Données] =>Sans entête

    ou

    PACTE_EntitéC1C2_data.xlsm!Ta_Cor_Vendeur[[#Tout];[ID_VENDEUR]:[Colonne ????]] =>Plage de colonnes

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2022-07-29T13:02:13+00:00

    Arnaud, merci pour ces éléments.

    Grisé, j'ai compris, je vais tester les autres syntaxes.

    Par contre, il reste ma question concernant une formule avec 2 filtres ( xxx)*(xxx) qui fonctionne si placée dans le même classeur que les données mais ne fonctionne pas si placée dans un autre classeur (avec le classeur des données des paramètres ouvert).

    Merci pour toute indication

    gdmeunier

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. Hecatonchire 53,700 Points de réputation Modérateur bénévole
    2022-07-28T10:53:11+00:00

    Bonjour

    "parfois la formule apparait en grisé et est inaccessible" => c'est parce que tu n'est pas sur la 1ere cellule en haut à gauche (la seul modifiable)

    Dans tes formules

    =FILTRE(PACTE_EntitéC1C2_data.xlsm!Ta_Cor_Vendeur[ID_VENDEUR];(PACTE_EntitéC1C2_data.xlsm!Ta_Cor_Vendeur[ID_PROJET]=$K$18)*(PACTE_EntitéC1C2_data.xlsm!Ta_Cor_Vendeur[ACTION]="Arrété");"")

    le 1er argument de filtre doit être tout ton tableau (ou du moins la plage de colonne utilisé dans le 2eme argument)!

    PACTE_EntitéC1C2_data.xlsm!Ta_Cor_Vendeur[#Tout] =>Avec entête

    ou

    PACTE_EntitéC1C2_data.xlsm!Ta_Cor_Vendeur[#Données] =>Sans entête

    ou

    PACTE_EntitéC1C2_data.xlsm!Ta_Cor_Vendeur[[#Tout];[ID_VENDEUR]:[Colonne ????]] =>Plage de colonnes

    Après il faut être logique, pour toutes les références : soit toutes avec entête ou aucune avec entête

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. Anonyme
    2022-07-28T07:38:15+00:00

    Merci pour la réponse. Concernant la combinaison de 2 conditions avec FILTRE(), la formule fonctionne si je la mets dans la même feuille que les données.

    =FILTRE(Ta_Cor_Vendeur[ID_VENDEUR];(Ta_Cor_Vendeur[ACTION]="Arrété")*(Ta_Cor_Vendeur[ID_PROJET]=G133);"") => ça fonctionne.

    Par contre, cette formule, avec 2 conditions, ne fonctionne pas si la formule est dans un autre classeur (le classeur des données d'origine étant ouvert évidement).

    =FILTRE(PACTE_EntitéC1C2_data.xlsm!Ta_Cor_Vendeur[ID_VENDEUR];(PACTE_EntitéC1C2_data.xlsm!Ta_Cor_Vendeur[ID_PROJET]=$K$18)*(PACTE_EntitéC1C2_data.xlsm!Ta_Cor_Vendeur[ACTION]="Arrété");"") => j'ai uniquement le texte de la formule !

    Par contre, avec une seule condition, la formule placée dans un autre classeur fonctionne :

    =FILTRE(PACTE_EntitéC1C2_data.xlsm!Ta_Cor_Vendeur[ID_VENDEUR];PACTE_EntitéC1C2_data.xlsm!Ta_Cor_Vendeur[ID_PROJET]=$K$18)

    Mais pas avec 2 !

    De même, parfois la formule apparait en grisé et est inaccessible. Le fonctionnement de cette fonction me semble différent de celui des autres fonctions que je pratique. J'utilise les références structurées, il y a-t-il un rapport ?

    Merci pour toute clarification !

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  5. Hecatonchire 53,700 Points de réputation Modérateur bénévole
    2022-07-27T18:01:45+00:00

    Bonjour

    Je ne constate pas problème lié à l'apostrophe

    Tu peux

    • Copier la formule dans la barre de formule
    • Afficher la formule (Ruban Formules>Afficher les formules) puis la copier/coller via le presse papier Office

    ou Windows nouvelle version via Win + C

    Concernant les 2 conditions je ne vois pas de problème

    si tu fais cette formule = 3+2 as-tu le même comportement (passage en texte) ?

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire