Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

ne pas imprimer les lignes vides

F

fox

Guest
Bonsoir

Petite question au programmeurs en Vba,

Est-ce possible d'imprimer une feuille par macro ( ça je sais le faire )et dans la macro lui dire de ne pas imprimer les lignes entre 90 et 100 et entre 120 et 150 qui sont vides.

Merci
 
F

fox

Guest
Salut Mytâ

Merci, mais je pensais plus pouvoir faire cela en vb via un macro, car si je dois faire ça chaque fois manuellement cela va me prendre pas mal de temps.

Encore merci et bonne nuit
 
M

Marc

Guest
Bonjour,
En intégrant ce code dans ton vba, ça doit marcher (les lignes sont indiquées à titre d'exemple) :

Rows("10:19").Select
Selection.EntireRow.Hidden = True
Rows("31:39").Select
Selection.EntireRow.Hidden = True

a+
 
F

fox

Guest
Bonsoir, tous le monde


Voilà l'exemple de ce que j'ai en suivant le code de Marc

de la ligne 1 à 25

j'ai les ligne 7, 12,14, 22 qui sont vides

de la ligne 31 à 39


j'ai les lignes 34 - 36 qui sont vides

quand j'exécute la macro à l'impresion il me sort:

de la ligne 1 à 6

il m'imprime la 7 qui est vide

la 8 9 20 21
la 22 qui est vide

la 23 jusqu'à la 30

Je ne comprends pas?

Je joint mon fichier exemple avec la macro que j'ai mis

Merci
 

Pièces jointes

  • lvide.zip
    6.1 KB · Affichages: 56
M

Mytå

Guest
Salut Fox, Marc et EvelynetFrancois

Fox t'a macro devrait te donner ceci

Sub Masquer_ligne_avant_impression()

Dim Ligne As Integer
Dim Colonne As Byte
Dim Fin As Integer

Fin = Range("a65535").End(xlUp).Row

For Ligne = 1 To Fin

For Colonne = 1 To 5 'Ici pour vérifier les colonnes de A a E
If Cells(Ligne, Colonne) <> "" Then GoTo Saut
Next Colonne

Rows(Ligne & ":" & Ligne).EntireRow.Hidden = True

Saut:

Next Ligne

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Rows("1:" & Fin).EntireRow.Hidden = False

End Sub

Mytå
 
F

fox

Guest
Hello, tous le monde

Mytâ, merci mais quand je lance la macro j'ai :

une erreur d'éxécution 1004
Erreur définie par l'application ou par l'objet.


Encore merci de votre soutient et de vos aides.
 
M

Mytå

Guest
Re Fox

Fin = Range("a65535").End(xlUp).Row

sert a trouver la derniere ligne vide de la colonne ici de la Colonne A

Pour la Colonne B tu aurais ecrit

Fin = Range("b65535").End(xlUp).Row

Mytå
 

Discussions similaires

Réponses
8
Affichages
401
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…