suprime ligne apres 2 ligne vide se suivent

pralo

XLDnaute Junior
bonsoir le forum
j'aurais besoin de votre aide s'il vous plait
j'espère que mes explication vont être claire
je laisse une ligne vide entre chaque lignes remplies pour écrire des notes après avoir imprimer
dans la plage ("A5:J44") j'aimerais supprimer les lignes vides après la dernière ligne remplie
faire de même pour la plage ("A45:J85")
puis ajuster la feuille en vertical avant d'imprimer
j'ai essayer des macros du forum mais les entres lignes que je voudrais conserver sont elles aussi supprimer
si quelqu'un a une idée
merci d'avance
 

Pièces jointes

  • Classeur1.xlsm
    19.5 KB · Affichages: 31

pralo

XLDnaute Junior
Bonsoir sousou et le forum
Merci d’avoi Pris du temps pour moi
Ca ne fonctionne pas, ca supprime toutes les ligne vide également
Je pense que je essayer en déplaçant la première partie sur un autre feuille faire les modify et la recoller sur la feuille initiale
Et de même pour la seconde partie
C’est du bricolage, je sais
Mais Je n’est pas votre compétence
Merci
 

pralo

XLDnaute Junior
bonjour sousou
le résultat est la, c'est parfait
merci
j'ai juste remplacer le mode portrait en mode paysage

j'ose te demander une dernière petite chose
j'ai regarder sur le forum mais pas encore trouvé
une fois que ton code a fait son travail, est-il possible de redimensionner la hauteur de lignes et la police pour cela prenne toute la hauteur le la page avant impression
merci encore pour ton aide
 

job75

XLDnaute Barbatruc
Bonjour pralo, sousou,

Puisque le but c'est d'imprimer pourquoi supprimer des lignes vides ?

Il suffit de les masquer, c'est quand même plus simple si ensuite on veut ajouter des données :
Code:
Sub Imprimer()
Dim c As Range
With ActiveSheet
    Set c = .Rows("5:44").Find("*", , xlValues, , xlByRows, xlPrevious)
    If c Is Nothing Then Set c = .[A4]
    If c.Row < 44 Then c(2).Resize(44 - c.Row).EntireRow.Hidden = True 'masque les lignes
    Set c = .Rows("46:85").Find("*", , xlValues, , xlByRows, xlPrevious)
    If c Is Nothing Then Set c = .[A45]
    If c.Row < 85 Then c(2).Resize(85 - c.Row).EntireRow.Hidden = True 'masque les lignes
    .PrintPreview 'aperçu avant impression pour tester
    '.PrintOut 'pour imprimer
    .Rows.Hidden = False 'RAZ
End With
End Sub
Fichier joint.

A+
 

Pièces jointes

  • cl1(1).xlsm
    36.3 KB · Affichages: 21

pralo

XLDnaute Junior
bonsoir job75, sousou, le forum
job75, merci, cette façon de masquer les lignes est plutôt bien pensée
bonne idée
et pense tu que c'est possible d'ajuster la hauteur des lignes automatiquement sur totalité de la page en vertical ?
il m'arrive d'écrire des annotation après avoir imprimer donc si la ligne est plus grand c'est plus facile

et j'envoie fréquemment ce planning par mail, je vais essayer d'adapter ton code dans mon code "mail" avant la fabrication du PDF
merci encore a vous deux
 

pralo

XLDnaute Junior
Bonjour job75
Avec ton idée de masquer les lignes vides
J’ai pensée à une autre approche
Peut-on masquer simplement les lignes vide sur la feuille ?
Et comme ça je pourrais l’envoyè soit par mail en pdf ou bien à l’imprimante
Je vais déjà essayer d’adapter ton code tout seul avec mes petites compétences et si je galère de trop je demanderais ton aide
Pour la hauteur des lignes je continuerais à agrandir les lignes manuellement, quand le tableau n’est pas Plein c’est plus facile d’ecrire des notes après avoir imprimé
Et merci encore pour aide
 

job75

XLDnaute Barbatruc
Bonjour pralo,
Peut-on masquer simplement les lignes vide sur la feuille ?
Bien sûr et c'est élémentaire :
Code:
Sub Imprimer()
Dim r As Range
With ActiveSheet
    For Each r In .[5:44,46:85].Rows
        If Application.CountA(r) = 0 Then r.Hidden = True
    Next
    .PrintPreview 'aperçu avant impression pour tester
    '.PrintOut 'pour imprimer
    .Rows.Hidden = False 'RAZ
End With
End Sub
Fichier (2).

A+
 

Pièces jointes

  • cl1(2).xlsm
    36 KB · Affichages: 24

pralo

XLDnaute Junior
bonsoir job75
merci encore pour ton aide
j'ai essayer de modifier ton code pour que les lignes vide soit masquer uniquement dans la page actuel
et sans aller plus loin
si je rend inactif la ligne - PrintPreview 'aperçu avant impression pour tester
les lignes vide ne sont pas masquer
visiblement mes compétence ne suffisent pas pour faire ca
merci encore
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 213
Membres
103 158
dernier inscrit
laufin