Masquer des lignes dans une macro
christ.lenoir
Messages postés
39
Statut
Membre
-
christ.lenoir Messages postés 39 Statut Membre -
christ.lenoir Messages postés 39 Statut Membre -
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.
Merci beaucoup d'avance
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
3 réponses
-
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!!!!!!!!!! -
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-
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
-
-
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/-
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
-