Programmation Excel VBA
Matt
-
matt -
matt -
Bonjour,
dans le cadre de mon travail d'été je dois modifier et améliorer un fichier de consignations excel 2003 utilisant de la programmation VBA. Le problème étant que je n'ai jamais pratiqué ce langage j'apprend en allant depuis une semaine en cherchant à droite à gauche sur les forums, mais là je coince donc je voudrai faire appel à votre aide.
Le fichier génère automatiquement des bons de consignations dans une feuille nommée "consignation". Il y a une macro pour lancer l'impression, cependant au bout de la troisième page tout se décalle. Je voudrai donc essai grâce à une boucle et un printarea redefinir la zone d'impression et lancer une nouvelle impression tout les 3 bons, sachant que la taille des bons est tout le temps la même.
Je vous met le code que j'ai essayé de commencer sans connaissance
Je vous remerci d'avance en éspérant avoir été assez clair.
Merci.
dans le cadre de mon travail d'été je dois modifier et améliorer un fichier de consignations excel 2003 utilisant de la programmation VBA. Le problème étant que je n'ai jamais pratiqué ce langage j'apprend en allant depuis une semaine en cherchant à droite à gauche sur les forums, mais là je coince donc je voudrai faire appel à votre aide.
Le fichier génère automatiquement des bons de consignations dans une feuille nommée "consignation". Il y a une macro pour lancer l'impression, cependant au bout de la troisième page tout se décalle. Je voudrai donc essai grâce à une boucle et un printarea redefinir la zone d'impression et lancer une nouvelle impression tout les 3 bons, sachant que la taille des bons est tout le temps la même.
Je vous met le code que j'ai essayé de commencer sans connaissance
'Impression des bons de consignation Private Sub impression() 'Selection de trois bons 'ActiveSheet.PageSetup.PrintArea = "$A3:$G62" 'coordonnées des trois prochains bons 'ActiveSheet.PageSetup.PrintArea = "$A63:$G121" '-------------------- test boucle --------------------- Dim i As Integer Dim j As Integer i = 3 j = 62 While "Bon existant" (là je bloque) ActiveSheet.PageSetup.PrintArea = "$Ai:$Gj" With Sheets("consignation").PageSetup .CenterHorizontally = True .CenterVertically = True .LeftMargin = Application.InchesToPoints(0.25) .RightMargin = Application.InchesToPoints(0.25) .TopMargin = Application.InchesToPoints(0.45) .BottomMargin = Application.InchesToPoints(0.45) .HeaderMargin = Application.InchesToPoints(0) .FooterMargin = Application.InchesToPoints(0) End With Sheets("consignation").PrintOut Copies:=1, Collate:=True i = i + 60 j = j + 59 Wend '-------------------- fin test ------------------------ End Sub
Je vous remerci d'avance en éspérant avoir été assez clair.
Merci.
A voir également:
- Programmation Excel VBA
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide