Macro excel : masquer des lignes quand la formule de l'une des deux colonnes est

kaobang83 Messages postés 4 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 7 septembre 2011 - 7 sept. 2011 à 17:09
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 7 sept. 2011 à 18:05
Bonjour,

J'ai un problème pour une macro...

J'ai un tableau à deux colonnes, les lignes sont remplies grâce à des formules d'une autre feuille de calcul. Dans la colonne B, les cellules sont remplies si la formule le demande.

Je souhaite créer une macro pour masquer les lignes pour lesquelles la colonne B est vide et je n'y arrive pas.

On m'a conseillé de faire une macro par enregistrement en filtrant sur les colonnes non vides, or, comme il y a des formules, il n'y a pas de colonne vide pour excel............

Par ailleurs, c'est dans un range de données de B10 à C94.

Merci beaucoup par avance pour votre aide !!!

Véronique

6 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
7 sept. 2011 à 17:23
Bonjour,
Tu développes sous VBA et non sous VB6 (la présente section). Fais-y attention la prochaine fois, s'il te plait.
Je souhaite créer une macro pour masquer les lignes pour lesquelles la colonne B est vide et je n'y arrive pas.

Il est important que tu définisses avec précision ce que tu entends par "vide".
Ce sera simple (quel que soit le cas défini par ta réponse) dès lors que tu auras répondu sur ce point.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
kaobang83 Messages postés 4 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 7 septembre 2011
7 sept. 2011 à 17:29
Bonjour,

En fait, la cellule n'est pas vide car elle contient une formule. Si la formule est validée (un score supérieur à un certain seuil), du texte est "rapatrié" dans la cellule. Sinon, la cellule est "blanche" mais contient la formule...

Est-ce que cela est plus précis ?

Merci !!
0
kaobang83 Messages postés 4 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 7 septembre 2011
7 sept. 2011 à 17:30
Et pardon pour VB6, je n'y connais absolument rien donc suis totalement perdue.....
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
7 sept. 2011 à 17:50
tu peux alors faire ainsi ===>>
exemple pour la plage B1:B10
Private Sub CommandButton1_Click()
  Dim plage As Range
  For i = 1 To 10
    If Range("B" & i) = "" Then
      If plage Is Nothing Then
        Set plage = Range("B" & i)
      Else
        Set plage = Union(plage, Range("B" & i))
      End If
    End If
  Next
  If Not plage Is Nothing Then
    plage.EntireRow.Hidden = True
  End If
  Set plage = Nothing
End Sub




____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kaobang83 Messages postés 4 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 7 septembre 2011
7 sept. 2011 à 17:57
Merci mais faut-il juste ajouter cela dans visual basic ? ou y'a-t-il un bouton (à quoi correspond "Command button") à créer ?

Merci !
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
7 sept. 2011 à 18:05
Ca, alors !
Je m'inquiète pour toi, là
Dans mon exemple, j'ai mis des instructions dans un bouton de commande.
Toi, tu mets ces instructions où tu le souhaites, y compris dans une macro.
Mais tu auras sans doute intérêt à modifier partout Range("B" & i) par l'ajout du nom de la feuille ! par exemple :
Worksheets("mafeuille_toto").Range("B" & i)

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Rejoignez-nous