Suppression de lignes inutiles Excel VBA

Fermé
Grobibi34 Messages postés 83 Date d'inscription lundi 3 mars 2008 Statut Membre Dernière intervention 29 mai 2008 - 4 avril 2008 à 11:52
aquarelle Messages postés 7140 Date d'inscription dimanche 8 avril 2007 Statut Modérateur Dernière intervention 25 mars 2024 - 4 avril 2008 à 21:55
Bonjour, tout le monde.

Bon voila je suis en train d'éditer un petit outil qui permettra de faire automatiquement un planning, je ne rentre pas dans les détails...

La taille du tableau ainsi édité est donc variable.

Je pense que j'ai un petit pb de programation dans mon code mais à l'impression il y a systématiquement 200 lignes et bien sur les dernières sont vides et donc pour l'imprimer c'est pas top.

La seule solution, si je ne veu pas me relancer dans mon code, est de selectionner la dernière ligne de mon tableau jusqu'en bas de ma page est de les supprimer. J'arrive à faire cette opération quand ce sont des lignes fixes grâce à ces deux petites lignes:

Rows("50:65536").Select
Selection.Clear

Donc ici de la ligne 50 à la ligne 65536.

Je voudrai que le 50 soit la valeur de ma variable r.

Quel syntaxe dois-je mettre ?

Cordialement,

Grobibi34
A voir également:

3 réponses

aquarelle Messages postés 7140 Date d'inscription dimanche 8 avril 2007 Statut Modérateur Dernière intervention 25 mars 2024 1 302
4 avril 2008 à 21:55
Bonsoir,
Cette macro supprime les lignes vides de la feuille active.
Sub SupprimerLigneVide()
DerniereLigne = ActiveSheet.UsedRange.Rows.Count
Application.ScreenUpdating = False
For r = DerniereLigne To 1 Step -1
      If Application.CountA(Rows(r)) = 0 Then Rows(r).Delete
Next r
End Sub


Bonne nuit
1
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
4 avril 2008 à 12:13
bonjour,
Supposons que tu recherche la dernière ligne valide (remplie) et la dernière colonne serrait par Ex: G

DerniereLigne = Range("A1").SpecialCells(xlCellTypeLastCell).Row
ZoneAimprimer="A1:G" & DerniereLigne
ActiveSheet.PageSetup.PrintArea = ZoneAimprimer
A+
0
Grobibi34 Messages postés 83 Date d'inscription lundi 3 mars 2008 Statut Membre Dernière intervention 29 mai 2008 30
4 avril 2008 à 13:59
Oui pas mal l'idée mais j'aimerai faire un fichier réelement simple pour l'utilisateur sans aucune formation, donc j'aimerai essayé de supprimé automatiquement "tout ce qui dépasse"
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
4 avril 2008 à 14:17
Bon, si tu tient vraiment a travaillé a l'envers...

DerniereLigne = (Range("A1").SpecialCells(xlCellTypeLastCell).Row) + 1
ZoneASuprimer = DerniereLigne & ":65536"
Rows(ZoneASuprimer).Select
Selection.Clear
A+
0