J'aimerais trouver une ligne de code en macro pour supprimer le tableau (ici, autour de la cellule B15) si celui-ci ne fait que 3 lignes, s'il en fait plus, il ne faut pas le supprimer.
J'ai le début du code qui me permet de sélectionner le tableau :
Re : Macro - Suppression de tableau avec conditions
Bonjour,
J'ai encore une petite question au niveau de la suppression de lignes.
J'aimerais une ligne de code pour supprimer la première ligne de mes cellules actives et cela, seulement si la condition présent dans la macro suivante est vérifiée.
Ainsi, dans l'ordre, j'aimerais que si le tableau possède plus de 3 lignes, le tableau se supprime. Une fois supprimé, certaines cellules sont actives et j'aimerais supprimer la première ligne.
En gros, j'ai plusieurs tableaux à la suite avec à chaque fois une ligne vide d'écart. Lors de la suppression des tableaux répondant à la condition, les lignes vides restent et j'aimerais les supprimer.
Dim c As Range
Set c = Range("B15").CurrentRegion
With c
If .Rows.Count > 3 Then .Cells.Delete
End With
Re : Macro - Suppression de tableau avec conditions
Voilà le fichier allégé en pièce jointe.
Dans l'onglet "Initiale" j'ai 3 tableaux qui peuvent être remplies de données, si ils sont remplies, seules les lignes vides sont supprimées. Si aucune donnée n'est remplies dans un des tableaux, j'aimerais le supprimer complètement (ce qui a été rendu possible grâce à kjin) et supprimer la ligne blanche se trouvant entre les 2 tableaux.
Sur cette version, seul 3 tableaux sont présents mais sur la version finale il n'y en a une dizaine. En cas de suppression de 5 tableaux successifs, on aura 5 lignes blanches entre 2 tableaux, ce que j'aimerais éviter.
Re : Macro - Suppression de tableau avec conditions
Re
En supprimant ces modules vides, tu réduiras aussi la taille de ton fichier.
Suggestion:
Pourquoi ne pas mettre dans tes lignes vides (et ce au préalable) XYZ (couleur police blanche)
ensuite tu fais un filtre sur ces lignes et tu supprimes les lignes.
VB:
Sub Macro1()
'tribute to The Softmama's Way
With Range("B1:B" & [A65536].End(xlUp).Row)
.FormulaR1C1 = "=IF(RC[-1]=""XYZ"",1,"""")"
.Value = .Value
.SpecialCells(xlCellTypeConstants, 1).EntireRow.Delete
End With
End Sub
Re : Macro - Suppression de tableau avec conditions
Re.
Je n'arrive pas à la faire fonctionner et d'après ce que j'arrive à comprendre de la macro, cela supprime toutes lignes où la chaine de caractère XYZ est mentionnée ?