Macro et insertion d'une ligne
Maxou72
-
Maxou72 -
Maxou72 -
Bonjour,
J'ai une petite question, et je n'ai pas réellement trouvé de réponse adaptée.
J'ai une macro pour masquer des lignes suivant une cellule vide (qui fonctionne très bien).
Private Sub CommandButton1_Click()
For i = 5 To 56
If Range("EQ" & i) = 0 Then '
Rows(i).Select
Selection.EntireRow.Hidden = True
End If
Next i
End Sub
Le soucis est que: Si sur mon tableau j'insère une ligne dans l'intervalle du "i", le 56 de vient le 57, et donc n'est plus dans la formule.
Y'a t-il un moyen pour que l'intervalle s'adapte?
Merci d'avance.
Cordialement.
J'ai une petite question, et je n'ai pas réellement trouvé de réponse adaptée.
J'ai une macro pour masquer des lignes suivant une cellule vide (qui fonctionne très bien).
Private Sub CommandButton1_Click()
For i = 5 To 56
If Range("EQ" & i) = 0 Then '
Rows(i).Select
Selection.EntireRow.Hidden = True
End If
Next i
End Sub
Le soucis est que: Si sur mon tableau j'insère une ligne dans l'intervalle du "i", le 56 de vient le 57, et donc n'est plus dans la formule.
Y'a t-il un moyen pour que l'intervalle s'adapte?
Merci d'avance.
Cordialement.
A voir également:
- Macro et insertion d'une ligne
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Partager photos en ligne - Guide
- Mètre en ligne - Guide
- Insertion sommaire word - Guide
- Insertion liste déroulante excel - Guide
2 réponses
Bonjour,
Private Sub CommandButton1_Click()
'prendre une colonne qui convient
derlig = Range("A" & Rows.Count).End(xlUp).Row
For i = 5 To derlig
If Range("EQ" & i) = 0 Then '
Rows(i).EntireRow.Hidden = True
End If
Next i
End Sub
Merci beaucoup :)
Sauf que du coup cette formule s'applique sur toute la colonne :/ Et je voudrais jusqu'à 56, ou 57 si jamais une ligne est insérée..
Sauf que du coup cette formule s'applique sur toute la colonne :/ Et je voudrais jusqu'à 56, ou 57 si jamais une ligne est insérée..
Le code ne peut pas changer de lui-même, donc plutôt que d'utiliser une boucle for qui est limitée aux lignes 5 à 56 (For i = 5 To 56 ), utilise une boucle While (=tant que) en ajoutant en colonne A à la fin de ton tableau le mot "FIN". Donc tant qu'on n'a pas atteint "FIN" on cache la ligne si on remplit la condition de la colonne EQ.