Connaissances Informatiques >> Logiciel >> Microsoft Excel >> Content
  Derniers articles
  • Quelle fonction doit être utilisée…
  • Quels composants Excel peuvent être…
  • Quelle est la fonction F1 dans l'opé…
  • Quelle est la formule pour rejoindre…
  • Dans les cartes Excel, sont créées…
  • Que se passe-t-il lorsqu'une cellule…
  • Quel apaise lorsque vous commencez E…
  • Comment pouvez-vous changer automati…
  • Comment utiliser Excel pour calculer…
  • Où la formule est-elle clé pour Ex…
  •   Microsoft Excel
  • Adobe Illustrator

  • Un logiciel d'animation

  • antivirus Software

  • Logiciel audio

  • Sauvegarder des données

  • Gravez des CD

  • Gravez des DVD

  • Compression de données

  • Logiciel de base de données

  • desktop Publishing

  • desktop Video

  • Digital Video Software

  • Drupal

  • Logiciels éducatifs

  • Software Engineering

  • Types de fichier d'extension

  • Financial Software

  • Freeware , Shareware et Abandonware

  • GIMP

  • Graphics Software

  • Accueil Recording Software

  • Microsoft Access

  • Microsoft Excel

  • Microsoft Publisher

  • Microsoft Word

  • Code Open Source

  • Autres logiciels informatiques

  • Jeux PC

  • Photoshop

  • Portable Document Format

  • PowerPoint

  • Logiciel de présentation

  • Logiciels de productivité

  • Quicktime

  • Gestion Remote Desktop

  • SQL Server

  • Skype

  • Logiciel bêta de presse

  • Consultants logiciels

  • Les sociétés de développement de logiciels

  • Licences de logiciels

  • Tableur

  • Logiciel de préparation d' impôt

  • Logiciel utilitaire

  • Clip Art Web

  • Windows Media Player

  • Logiciel de traitement de texte

  • Facebook

  • Twitter

  • Instagram

  • LinkedIn

  • TikTok

  • WhatsApp

  • WordPress

  • Chrome

  • Discord

  • Amazon
  •  
    Microsoft Excel

    Pouvez-vous masquer des lignes dans Excel à l’aide d’une formule ou d’une instruction de condition ?

    Oui, vous pouvez masquer des lignes dans Excel à l'aide d'une formule ou d'une instruction conditionnelle, mais pas *directement* dans une formule de cellule. Au lieu de cela, vous devez utiliser la Mise en forme conditionnelle avec une formule personnalisée en conjonction avec une macro VBA . Voici comment procéder :

    1. Mise en forme conditionnelle :

    * Objectif : Pour marquer les lignes qui répondent à vos critères (la condition). Au lieu de masquer directement, nous modifierons la police et la couleur de remplissage de la ligne pour qu'elles soient invisibles.

    * Étapes :

    1. Sélectionnez la plage de données : Mettez en surbrillance toute la plage de lignes et de colonnes auxquelles vous souhaitez appliquer la condition de masquage (par exemple, « A1:Z100 » ou quelle que soit la taille de vos données). Surtout, la *première* ligne de votre sélection sera utilisée comme référence pour votre formule.

    2. Accédez à la mise en forme conditionnelle : Dans l'onglet "Accueil", cliquez sur "Mise en forme conditionnelle"> "Nouvelle règle..."

    3. Choisissez "Utiliser une formule pour déterminer les cellules à formater" : Sélectionnez ce type de règle.

    4. Entrez votre formule : Dans la zone de formule, saisissez une formule qui renvoie « VRAI » lorsque vous souhaitez masquer la ligne et « FALSE » sinon. *Important :* Utilisez des références relatives ("$columnNameRowNumber`) ou des références mixtes ("$columnNameRowNumber`) de manière appropriée, en fonction de ce que vous souhaitez tester.

    * Exemple 1 (Masquer les lignes dont la valeur dans la colonne A est "Masquer") :

    ``` exceller

    =$A1="Cacher"

    ```

    Cette formule vérifie si la valeur dans la colonne A de la *première ligne* de votre plage sélectionnée est égale à « Masquer ». Il appliquera ensuite la mise en forme à cette ligne. Puisque vous avez sélectionné toute la plage, la formule s’ajustera automatiquement pour chaque ligne.

    * Exemple 2 (Masquer les lignes dont la valeur dans la colonne B est inférieure à 0) :

    ``` exceller

    =$B1<0

    ```

    Cela masque les lignes où la valeur de la colonne B est négative.

    * Exemple 3 (Masquer les lignes où la valeur dans la colonne C est vide) :

    ``` exceller

    =ISVIDE($C1)

    ```

    5. Définissez le format (sur "masquer") : Cliquez sur le bouton "Formater...".

    * Police : Modifiez la couleur de la police pour qu'elle corresponde à la couleur d'arrière-plan de vos cellules. Généralement, c'est blanc (ou pas de remplissage).

    * Remplir : Modifiez la couleur de remplissage pour qu'elle corresponde à la couleur d'arrière-plan de vos cellules. Encore une fois, généralement blanc (ou sans remplissage).

    * Cliquez sur "OK" pour fermer la boîte de dialogue Format, puis à nouveau sur "OK" pour créer la règle de formatage conditionnel.

    2. Macro VBA (pour ajuster la hauteur des lignes) :

    * Objectif : Pour définir la hauteur de ligne sur 0 pour les lignes qui correspondent au formatage. C'est la dernière étape pour masquer visuellement les lignes.

    * Étapes :

    1. Ouvrez l'éditeur VBA : Appuyez sur « Alt + F11 » pour ouvrir Visual Basic Editor.

    2. Insérer un module : Dans l'éditeur VBA, allez dans "Insérer"> "Module".

    3. Collez le code suivant : Collez ce code VBA dans le module :

    ```vba

    Sous HideRowsBasedOnFormat()

    Dim rng comme plage, cellule comme plage

    Dim ws comme feuille de calcul

    Dim condFormat As FormatCondition

    ' Remplacez "Sheet1" par le nom de votre feuille

    Définir ws =ThisWorkbook.Sheets("Sheet1")

    ' Remplacez A1:Z100 par la plage réelle où la mise en forme conditionnelle est appliquée.

    Définir rng =ws.Range("A1:Z100")

    ' Parcourez chaque cellule de la plage

    Pour chaque cellule dans rng.Rows

    'Supposons qu'au début, ne vous cachez pas

    cell.Hidden =Faux

    'Parcourir tous les formats conditionnels

    Pour chaque condFormat dans cell.FormatConditions

    Si condFormat.Type =xlExpression Alors

    'Évaluez la formule, si elle est vraie, cachez-la

    Si ws.Evaluate(condFormat.Formula1) Alors

    cell.Hidden =Vrai

    Quitter pour

    Fin si

    Fin si

    CondFormat suivant

    Cellule suivante

    Fin du sous-marin

    Sous UnhideAllRows()

    Dim ws comme feuille de calcul

    ' Remplacez "Sheet1" par le nom de votre feuille

    Définir ws =ThisWorkbook.Sheets("Sheet1")

    ws.Rows.Hidden =Faux

    Fin du sous-marin

    ```

    4. Personnalisez le code :

    * `ws =ThisWorkbook.Sheets("Sheet1")` :Remplacez `"Sheet1"` par le nom réel de la feuille de calcul où se trouvent vos données.

    * `Set rng =ws.Range("A1:Z100")` :Remplacez `"A1:Z100"` par la même plage de données que celle que vous avez utilisée lors de la création de la règle de mise en forme conditionnelle.

    5. Exécutez la macro : Revenez à l'éditeur VBA (si vous l'avez fermé) et appuyez sur « F5 » pour exécuter la macro « HideRowsBasedOnFormat ». Alternativement, depuis Excel, allez dans l'onglet « Développeur » (si vous ne le voyez pas, vous devrez l'activer dans les options d'Excel)> « Macros », sélectionnez « HideRowsBasedOnFormat » et cliquez sur « Exécuter ».

    6. (Facultatif) Ajoutez un bouton : Vous pouvez insérer un bouton sur votre feuille de calcul (Insertion -> Formes -> Bouton) et lui attribuer la macro `HideRowsBasedOnFormat`. Cela fournit un moyen convivial de masquer à nouveau les lignes chaque fois que les données changent. Vous pouvez également ajouter un bouton pour « UnhideAllRows ».

    Explication :

    * Formatage conditionnel : Cela marque les lignes que nous voulons masquer.

    * Macro VBA : Ce code parcourt les lignes, vérifiant si la mise en forme conditionnelle s'applique à chaque ligne. Si c'est le cas, il définit « RowHeight » sur 0, rendant la ligne effectivement invisible. Nous utilisons la formule de mise en forme conditionnelle dans le cadre de la macro afin qu'elle ne soit pas uniquement basée sur le format, car celui-ci peut changer.

    Considérations importantes :

    * Performances : Si vous disposez d'un très grand ensemble de données (des dizaines de milliers de lignes), cette approche *peut* être lente car elle parcourt chaque ligne. Il peut exister des solutions VBA plus complexes mais plus rapides si les performances sont critiques.

    * Recalcul : Lorsque vos données changent (et que les règles de mise en forme conditionnelle sont recalculées), vous devrez réexécuter la macro pour masquer à nouveau les lignes si les conditions ont changé. Vous pouvez automatiser cela à l'aide d'un gestionnaire d'événements dans VBA (par exemple, « Worksheet_Change » pour déclencher la macro chaque fois qu'une cellule de la feuille est modifiée). Soyez toutefois prudent, car exécuter une macro à chaque modification peut également ralentir les choses.

    Exemple avec l'événement `Worksheet_Change` (masquage automatique) :

    Pour rendre le masquage automatique à chaque fois que les données changent, vous pouvez modifier le code VBA comme suit. Au lieu de placer le code dans un module, placez-le dans la fenêtre de code de la *feuille de calcul* :

    1. Cliquez avec le bouton droit sur l'onglet de la feuille (par exemple, « Sheet1 ») dans Excel et sélectionnez « View Code ». Cela ouvrira l'éditeur VBA directement sur le module de code de la feuille de calcul.

    2. Collez le code suivant dans la fenêtre de code de la feuille de calcul :

    ```vba

    Sous-feuille de travail privée_Change (cible ByVal en tant que plage)

    ' Appelez la macro HideRowsBasedOnFormat chaque fois que la feuille change.

    Masquer les lignes basées sur le format

    Fin du sous-marin

    Sous HideRowsBasedOnFormat()

    Dim rng comme plage, cellule comme plage

    Dim ws comme feuille de calcul

    Dim condFormat As FormatCondition

    ' Remplacez "Sheet1" par le nom de votre feuille

    Définir ws =ThisWorkbook.Sheets("Sheet1")

    ' Remplacez A1:Z100 par la plage réelle où la mise en forme conditionnelle est appliquée.

    Définir rng =ws.Range("A1:Z100")

    ' Parcourez chaque cellule de la plage

    Pour chaque cellule dans rng.Rows

    'Supposons qu'au début, ne vous cachez pas

    cell.Hidden =Faux

    'Parcourir tous les formats conditionnels

    Pour chaque condFormat dans cell.FormatConditions

    Si condFormat.Type =xlExpression Alors

    'Évaluez la formule, si elle est vraie, cachez-la

    Si ws.Evaluate(condFormat.Formula1) Alors

    cell.Hidden =Vrai

    Quitter pour

    Fin si

    Fin si

    CondFormat suivant

    Cellule suivante

    Fin du sous-marin

    Sous UnhideAllRows()

    Dim ws comme feuille de calcul

    ' Remplacez "Sheet1" par le nom de votre feuille

    Définir ws =ThisWorkbook.Sheets("Sheet1")

    ws.Rows.Hidden =Faux

    Fin du sous-marin

    ```

    * Important : Remplacez « Sheet1 » et « A1:Z100 » par le nom de votre feuille et la plage de données réelles, comme auparavant.

    Désormais, chaque fois que vous modifiez une valeur sur la feuille, la macro « HideRowsBasedOnFormat » s'exécutera automatiquement, masquant à nouveau toutes les lignes qui répondent aux critères de mise en forme conditionnelle.

    N'oubliez pas d'enregistrer votre fichier Excel en tant que classeur prenant en charge les macros (.xlsm) pour préserver le code VBA.

    Cette approche offre un moyen flexible de « masquer » dynamiquement des lignes dans Excel en fonction d’une formule, même si elle nécessite l’utilisation à la fois du formatage conditionnel et de VBA. Choisissez la méthode qui correspond le mieux à vos besoins et à votre niveau de confort avec VBA. La macro la plus simple, activée par un bouton, constitue souvent un bon point de départ.

     
    Article précédent:
    Article suivant:
    Articles recommandés
  • Comment calculer la formule pour l’année totale sur Excel ? 
  • Quels sont les avantages d’utiliser la boulangerie Excel ? 
  • Un logiciel d'application tel que Microsoft Excel manipule-t-il directement le matériel informatiqu…
  • Quelle est la manière d’afficher vos données sur Excel sous forme picturale ? 
  • Comment utiliser Excel pour créer un calendrier mensuel 2013 ? 
  • Qu'utilisez-vous pour effacer les résultats sur Excel? 
  • Où une cellule est-elle alignée sur la feuille de travail Excel à gauche ou à droite? 
  • Où est le symbole mobile dans MS Excel? 
  • Comment afficher le montant des ventes sur Excel 2013 ? 
  • À quoi sert la commande copy dans MS-DOS ? 
  • Connaissances Informatiques © http://www.ordinateur.cc