Macro VBA pour masquer des lignes selon certains critères

Bonjour,

Je voudrais masquer des lignes sur des tableaux Excel (version 2013 en français), si elles contiennent "#DIV/0" ou Clôturé. J'ai constaté que VBA n'aimait pas les "/" j'ai contourné la difficulté en reportant la condition sur les cellules = 0 responsables du code d'erreur "#DIV/0" mais je n'ai pas d'idée pour ajouter une condition sur le terme "Clôturé" , pourtant j'ai cherché pendant des heures ! J'ai besoin d'aide.

14aide-macro.xlsx (18.61 Ko)

Bonjour

Peux tu envoyer un extrait de ton original avec tes formules de calcul et des noms bidons bien sur

le fichier que tu as joints n'est pas du tout au top

Crdlt

Bonjour ValérieG, Joco7915

Dans ce cas précis, vous avez des #DIV/0 car vous divisez un 0 par 0
Pour éviter ce message d'erreur de la part d'Excel, il suffit d'utiliser la fonction SIERREUR(Valeur;Valeur_si_erreur)

Soit

=SIERREUR(G12/F12;0)
et
=SIERREUR(H12/F12;0)

Quant à l'utilisation de VBA pourquoi utiliser l'artillerie lourde quand Excel possède des filtres

A+

Bonjour,

Désolée, je pensais avoir répondu hier.

Joco 7915 Je peux envoyer un nouveau fichier mais il s'agit du produit d'une requête BO et il n'y a aucune formule, seulement d'autres lignes structurées exactement comme celles que j'ai envoyées. Merci de ton aide.

JExcelfr Je pourrais aussi filtrer avec le filtre automatique, mais ce n'est pas ce que je souhaite. Je voudrais vraiment utiliser une macro. J'ai une trentaine de tableaux de ce genre que j'extrais deux fois par mois et je ne veux pas seulement masquer les colonne avec le code d'erreur (j'ai une macro qui fonctionne bien pour ces lignes) je voudrais aussi que la même macro me permette de masquer les lignes qui contiennent "Clôturé". Merci de ton aide.

Est-ce que quelqu'un peut m'aider à mette au point cette macro s'il vous plait .

Re,

Ok, voici un code possible

Sub MasquerLignes()
  Dim dLig As Long, Lig As Long
  ' Avec la feuille active
  With ActiveSheet
    ' Dernière cellule remplie de la feuille
    dLig = .Range("B" & Rows.Count).End(xlUp).Row
    ' Parcourir chaque ligne
    For Lig = 3 To dLig
      ' Si la ligne contient au moins un des critères
      If .Range("J" & Lig) = "#DIV/0" Or .Range("K" & Lig) = "#DIV/0" _
        Or .Range("E" & Lig) = "Clôturé" Then
        Rows(Lig).EntireRow.Hidden = True
      End If
    Next Lig
  End With
End Sub

A+

C'est génial ! Tu es génial JExcel2fr ! C'est exactement de que j'espérais.

Merci merci merci !

Rechercher des sujets similaires à "macro vba masquer lignes certains criteres"