|
|
|
|
Bonjour à tous,
Voila étant novice en macro, je voulais savoir comment il était possible de masquer des lignes pour lesquels les cellules se trouvant dans la colonne A sont = à 0.
J'ai commencé mes recherches et j'arrive à cela, cependant je ne sais pas comment intégrer ma condition, car pour le moment j'ai simplement enregistré le masquage des cellules.
Sub Macro2()
'
' Macro2 Macro
' Macro enregistrée le 18/05/2009 par ST1
'
' Touche de raccourci du clavier: Ctrl+m
'
Range("D2").Select
Sheets(Array("Plan comptable Chateau", "Avril", "Mai", "Juin", "Juillet", "Aout", _
"Septembre", "Octobre", "Novembre", "Decembre", "Janvier", "Fevrier", "Mars")). _
Select
Sheets("Plan comptable Chateau").Activate
ActiveWindow.SmallScroll Down:=10
ActiveWindow.ScrollRow = 67
ActiveWindow.ScrollRow = 69
ActiveWindow.ScrollRow = 70
ActiveWindow.ScrollRow = 72
ActiveWindow.ScrollRow = 75
ActiveWindow.ScrollRow = 77
ActiveWindow.ScrollRow = 80
ActiveWindow.ScrollRow = 82
ActiveWindow.ScrollRow = 85
ActiveWindow.ScrollRow = 88
ActiveWindow.ScrollRow = 90
ActiveWindow.ScrollRow = 92
ActiveWindow.ScrollRow = 94
ActiveWindow.ScrollRow = 96
ActiveWindow.ScrollRow = 98
ActiveWindow.ScrollRow = 100
ActiveWindow.ScrollRow = 103
ActiveWindow.ScrollRow = 106
ActiveWindow.ScrollRow = 109
ActiveWindow.ScrollRow = 112
ActiveWindow.ScrollRow = 115
ActiveWindow.ScrollRow = 116
ActiveWindow.ScrollRow = 120
ActiveWindow.ScrollRow = 122
ActiveWindow.ScrollRow = 123
ActiveWindow.ScrollRow = 124
ActiveWindow.ScrollRow = 126
ActiveWindow.ScrollRow = 128
ActiveWindow.ScrollRow = 130
ActiveWindow.ScrollRow = 131
ActiveWindow.ScrollRow = 133
ActiveWindow.ScrollRow = 134
ActiveWindow.ScrollRow = 136
ActiveWindow.ScrollRow = 139
ActiveWindow.ScrollRow = 142
ActiveWindow.ScrollRow = 145
ActiveWindow.ScrollRow = 146
ActiveWindow.ScrollRow = 149
ActiveWindow.ScrollRow = 152
ActiveWindow.ScrollRow = 154
ActiveWindow.ScrollRow = 155
ActiveWindow.ScrollRow = 156
ActiveWindow.ScrollRow = 157
ActiveWindow.ScrollRow = 156
ActiveWindow.ScrollRow = 155
ActiveWindow.ScrollRow = 154
ActiveWindow.ScrollRow = 152
ActiveWindow.ScrollRow = 151
ActiveWindow.ScrollRow = 149
ActiveWindow.ScrollRow = 148
ActiveWindow.ScrollRow = 146
ActiveWindow.ScrollRow = 145
ActiveWindow.ScrollRow = 144
ActiveWindow.ScrollRow = 143
ActiveWindow.ScrollRow = 142
ActiveWindow.ScrollRow = 141
ActiveWindow.ScrollRow = 140
ActiveWindow.ScrollRow = 139
Range("A174").Select
ActiveWindow.SmallScroll Down:=-34
Rows("150:199").Select
Selection.EntireRow.Hidden = True
End Sub
Si quelqu'un pouvait me conseiller, ça m'aiderait beaucoup.
Merci d'avance à toutes les personnes qui pourront m'aider.
Alex
Bonjour,
Sub cacher_zero()
Dim cptr As Byte, nbre As Byte
Application.ScreenUpdating = False
nbre = ThisWorkbook.Sheets.Count
For cptr = 1 To nbre
Columns("A:A").AutoFilter Field:=1, Criteria1:="<>0"
Next
End Sub
Cordialement, Michel |
Je suis désolé michel_m mais je n'arrive pas a comprendre ta réponse. Je voudrais que ma macro ne fonctionne qu'avec certains onglets : ("Plan comptable Chateau", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Decembre", "Janvier", "Fevrier", "Mars").
|
Il y a peut être une petite subtilité en plus, les cellules que l'on retrouve dans l'onglet plan comptable sont reportés dans tous les autres onglets qui sont en fait des balances. Cependant, si j'arrivais a masquer toutes les cellules vides dans l'onglet plan comptable, serait il possible que dans les onglets suivants, les cellules soient masquées également. En espérant avoir été assez clair.
|
Sub cacher_zero()
Dim cptr As Byte
Dim tablo
tablo = Array("Plan comptable Chateau", "Avril", "Mai", "Juin", "Juillet", "Aout", _
"Septembre", "Octobre", "Novembre", "Decembre", "Janvier", "Fevrier", "Mars")
Application.ScreenUpdating = False
For cptr = 0 To UBound(tablo)
Sheets(tablo(cptr)).Columns("A:A").AutoFilter Field:=1, Criteria1:="<>0"
Next
End Sub
Rappel:il est préférable qu'il y ait une étiquette (nom de champs) avant tes chiffres Cordialement, Michel |
Par exemple, en A1, l'indication "numéro de compte"
Sub cacher_zero()
Dim cptr As Byte
Dim tablo
tablo = Array("Plan comptable Chateau", "Avril", "Mai", "Juin", "Juillet", "Aout", _
"Septembre", "Octobre", "Novembre", "Decembre", "Janvier", "Fevrier", "Mars")
Application.ScreenUpdating = False
For cptr = 0 To UBound(tablo)-1
Sheets(tablo(cptr)).Columns("A:A").AutoFilter Field:=1, Criteria1:="<>0"
Next
End Sub
c'est à copier-coller dans VBE( Alt+F11 insertion - module) Cordialement, Michel |
Finalement, j'ai réussi en enlevant le -1 à la fin de la ligne.
|