VBA Ajout supprimer ligne sur facture

Bonsoir,

7ajoutligne.xlsm (37.63 Ko)

Après un temps fou passer je n'arrive plus à avancer sur mon projet, je souhaite en vba pouvoir supprimer une ou des ligne(s) puis ajouter ou supprimer une page.

J'ai délimité ma facture en gris clair (A1:G50)

Sur mon projet (ma facture) la première ligne ou l'on trouve les articles commence toujours à la ligne 23, pour pas que la page déborde (sur une deuxième page) je l'ai terminé à la ligne 39, soit 17 lignes (la hauteur de la page est donc de 17*15 = 255( ce sont des points écran)) ou l'on peut ajouter des produits / articles etc...

Par défaut, la hauteur de ligne est égale à 15. La hauteur des lignes varie en fonction de la longueur du texte de la colonne "Désignation", si le texte passe à deux lignes, on règle la hauteur à 30 (et on supprime 1 ligne vide) , si on obtient 3 lignes la hauteur passe à 45 (on supprime 2 lignes vides) ainsi de suite (Multiple de 15)

Mon but est de pourvoir régler la page automatiquement (c'est à dire avoir toujours la même hauteur d'une page vierge soit 17 lignes *15)

C'est à dire :

Quand la hauteur d'une ligne passe à 30, je supprime la dernière ligne blanche (Ligne 39), un autre exemple, si la hauteur d'une autre ligne est de 45, cette fois-ci je supprime les deux dernières lignes (38 et 39)

Bien évidemment, quand on efface une données de la colonne "Désignation" et que celle ci dépassait la hauteur de 15, on rétablit (insère) le nombre de ligne nécessaire.

Exemple sur la ligne 23, la hauteur est réglée à 60 (4 lignes), on la vide, donc la hauteur doit passer à 15 (1 ligne) et pour garder la même hauteur de page (je rappelle 17 lignes *15), on doit rajouter 3 lignes de 15, à la fin.

Un autre cas de figure, quand je supprime une simple ligne (Hauteur 15), ajouter une ligne hauteur 15 tout en bas (Juste au dessus de TOTAL TTC)

Le but est de pouvoir conserver toujours la même hauteur de page pour éviter les débordements voir même le manque de ligne.

J'espère que j'ai été le plus clair possible, Je joint mon programme, il est vrai que je me suis pris la tête, peut être qu'il existe une méthode plus simple.....

Merci d'avance à vous bonne nuit

Bonjour,

Hum.. un peu compliqué ce que vous voulez faire là...
Vous devez aussi savoir qu'Excel conserve les paramètres de votre imprimante. Du coup si vous passez le fichier d'une imprimante à l'autre cela pourrait affecter le rendu à l'impression. C'est ce qui se passe si j'ouvre votre fichier.

Faites plus simple :
- Réglez les marges hautes et basses de votre feuille (ce qui n'est d'ailleurs pas fait dans votre fichier)
- Utilisez la fonction "fit to page" qui vous mettra toujours l'impression de votre facture sur une page. Genre ceci

With Worksheets("Feuil").PageSetup 
 .Zoom = False 
 .FitToPagesTall = 1 
 .FitToPagesWide = 1 
End With

si ok --> pensez à

Cordialement

Rechercher des sujets similaires à "vba ajout supprimer ligne facture"