Bonjour,
je viens a vous pour question classique mais j'arrive pas a trouver la solution dans le brouhaha du forum :-)
je voudrais effacer le contenu de ma feuille a partir de A6 afin de l'initialiser pour un filtre avance
Pour cela j' utilise le code suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 'II) clear sheet before If Range("a6:A6") <> " " Then Range("a6:f" & dernligne).ClearContents Else: Exit Sub End If
Cela fonctionne bien quand effectivement, ma feuille contient des donnees, mais si la cellule est vide, la macro me supprime les titres et donc cela bloque a la ligne du filtre.
Quelle function de VBA que je ne connais pas encore?
Edit pour les courageux de passage,
La solution (donnee par Rdurupt) est la suivante
Si vous avez des donnees dans d'autres cellules adjacentes, adaptez le chiffre (ligne 1 du code) avec cette methode
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 If Range("A6").CurrentRegion.Rows.Count > 6 Then Range("a6:f" & dernligne).ClearContents End If
Fais cette manip dans vb ouvre la fenêtre d'exécution raccourci clavier [Ctrl] + [G] exécutes cette commandeet appuis sur la touche [enter] tu pourras lire la valeur du count!
Code : Sélectionner tout - Visualiser dans une fenêtre à part ?range("A6").currentregion.rows.count
La solution (donnee par Phillipe) est la suivante, tenant compte des entetes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Sub t() Dim Rng As Range Set Rng = Range("A5").CurrentRegion With Rng .Offset(1).Resize(.Rows.Count - 1).ClearContents End With Set Rng = Nothing End Sub
Partager