Masquer des lignes dans une macro

Fermé
christ.lenoir Messages postés 38 Date d'inscription mardi 6 juin 2017 Statut Membre Dernière intervention 7 septembre 2017 - Modifié le 6 juin 2017 à 18:07
christ.lenoir Messages postés 38 Date d'inscription mardi 6 juin 2017 Statut Membre Dernière intervention 7 septembre 2017 - 7 juin 2017 à 16:39
Bonjour,
Après plusieurs lectures sur le forum, je n'arrive toujours pas à faire la macro dont j'ai besoin.
Je veux faire : si dans chaque colonne j'ai un 0, je masque la ligne au complet.


et donc dans ce cas-ci, je ne verrais que les deux premières lignes.

pour l'instant j'ai :
Sub Macro1()
'
' Masquer les lignes
'
If Range("C10:H30") = 0 Then
Rows("10:30").Select
Selection.EntireRow.Hidden = True
End If
'

'Affiche les lignes
If Range("C10:H30") <> "0" Then
Rows("19:30").Select
Selection.EntireRow.Hidden = False
End If

End Sub

ça ne marche pas quand j'essaye de l'éxécuter, ça me met un message d'erreur.
    • je suis dans Excel 2010


Merci beaucoup d'avance
A voir également:

3 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
7 juin 2017 à 13:20
Bonjour,

Je veux faire : si dans chaque colonne j'ai un 0

Tout a fait Thierry, mais il n'y a jamais 0 d'apres l'image de votre feuille!!!!!!!!!!
1
christ.lenoir Messages postés 38 Date d'inscription mardi 6 juin 2017 Statut Membre Dernière intervention 7 septembre 2017
7 juin 2017 à 14:12
C'est parce que le format utilisé est comptabilité et donc lorsque 0$, cela affiche -
Ce sont en faites tous des 0 sur l'image
merci
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
7 juin 2017 à 13:50
Bonjour,

Une possibilité avec ce code :
Public Sub Masquer_lignes()
Dim cel As Range
Const col = "C" ' colonne de test
Const deb = 10  ' ligne début tableau
    For Each cel In Cells(deb, 1).Resize(Cells(Rows.Count, col).End(xlUp).Row - deb).Cells
        If Application.Sum(Rows(cel.Row)) = 0 Then
            Rows(cel.Row).Hidden = True
        Else
            Rows(cel.Row).Hidden = False
        End If
    Next cel
End Sub
0
christ.lenoir Messages postés 38 Date d'inscription mardi 6 juin 2017 Statut Membre Dernière intervention 7 septembre 2017
7 juin 2017 à 14:10
Bonjour, merci beaucoup pour l'aide, mais cela n'a pas fonctionné...
Ça me fait error 1004 et du coup je suis obligé de fermer le excel complètement et de recommencer ...
J'ai changer un peu mon tableau pour que j'aille qu'une seule condition. J'ai fait une fonction Si que s'il y avait un chiffre = A et sinon M.
Ma nouvelle macro ressemble donc à cela, mais ça me fait encore une fois un message d'error :
Dim ligne As Integer

For ligne = 30 To 200
If Cells(ligne, 9) = "M" Then
Rows(ligne & ":" & ligne).EntireRow.Hidden = True
End If
Next

End Sub

Toutefois, quand je garde mon enter sur mon message d'error, ça finit par bien exécuter la macro ....
Je ne sais pas quoi faire pour enlever ce message d'erreur et ainsi améliorer ma macro.

Merci encore
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
7 juin 2017 à 16:08
Re,

Pouvez-vous mettre votre fichier a dispo?

Pour transmettre un fichier,
Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES

soit: cjoint.com
Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...

ou:
'mon partage
https://mon-partage.fr/
0
christ.lenoir Messages postés 38 Date d'inscription mardi 6 juin 2017 Statut Membre Dernière intervention 7 septembre 2017
7 juin 2017 à 16:39
en voulant vous l'envoyez j'ai copié mes valeurs puisqu'en effet c'était confidentielle, et dans un classeur sans aucune macro ou formule, ma macro fonctionne à la perfection. Je ne comprends pas pourquoi ça ne fonctionne pas dans mon classeur d'origine. Nous utilisons un GEF d'Acomba pour la comptabilité... je ne sais pas si vous connaissez. Cela me semble être la raison de l'échec de ma macro ...
Mais que faire ? ... malheureusement le fichier qui bog est celui confidentielle alors je ne peux vous l'envoyez.
merci encore
0