EXCEL probleme de facture

Arkonide51

XLDnaute Nouveau
Bonjour,

Je fais des réunions a domicile pour des "boites en plastic", des cosmetics et eutres bijoux fantaisies.

Je faisais mes factures a la main jusqu'a la pocession d'un micro portable bien partique, avec une petite imprimante style carte bleue.

Je me suis créer sur Excel un petit programme de facturation, mais le probleme c'est que je suis oblige (de part mes competences" d'imprimer une zone donc que j'ai un article ou 15 la longeur de la facture est la meme.

Comment peut on regler ce probleme ?

Voila la macro qui me sert a aller chercher sur une feuille mes produits avec : Designation, Prix TTC, TVA( 5.5 ou 19.6)

' FABRICATION DE LA FACTURE
Public Sub Facture()
Dim valeur As String
Dim l As Integer
' demande de la quantité
nombre = Application.InputBox("Combien ? :", Type:=1)
If nombre = False Then Exit Sub
l = Sheets("Facture").Range("c28").End(xlUp).Row + 1
valeur = ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text

For Each c In Sheets("Designation").Range("b3:b" & Sheets("Designation").Range("b500").End(xlUp).Row)

If c.Value = valeur Then

With Sheets("Facture")
'note la quantite sur la facture
.Range("b" & l).Value = nombre
' note la designation sur la facture
.Range("c" & l).Value = c.Value
' note le prix sur la facture
.Range("e" & l).Value = c.Offset(0, 1).Value
' note le code TVA sur la facture
.Range("a" & l).Value = c.Offset(0, -1).Value
End With
End If
Next c

End Sub

et voila avec quoi j'imprime :

'IMPRESSION DE LA FACTURE
Private Sub CommandButton1_Click()
Range("B1:f34").Select
Selection.PrintOut Copies:=1, Collate:=True
End Sub

cette facture se decompose en 3 parties
1°) nom client etc...
2°) le corps avec macro ci dessus
3°) le total TTC, HT, TVA etc...

Ai je été assez claire ?

D'avance MERCI
 
C

Compte Supprimé 979

Guest
Re : EXCEL probleme de facture

Bonjour Arkonide51,

Essaye comme ça
Code:
'IMPRESSION DE LA FACTURE
Private Sub CommandButton1_Click()
  Dim DerLig As Long
  With Sheets("Facture")
    ' Trouver la dernière ligne de la colonne E
    DerLig = .Range("E" & Rows.Count).End(xlUp).Row
    ' Définir la nouvelle zone d'impression
    .PageSetup.PrintArea = "$B$1:$F$" & DerLig
    ' Imprimer la page
    .PrintOut Copies:=1, Collate:=True
  End With
End Sub

A+
 

Arkonide51

XLDnaute Nouveau
Re : EXCEL probleme de facture

Merci de repondre aussi vite.

La macro fonctionne mais je n'ai que le debut de la facture de exp : "A1" a la fin de la derniere ligne du "corps" de cette facture. C'est impec.... Mais cela s'arrete la !!!
Maintenant le probleme est qu' avec le rajout que j'ai fais pour avoir le "total", la facture se fait en 2 impressions une fois de A1 à X et une autre fois de B29 à F34. Donc 2 feuilles; GRRrrrrr...
Comment faire pour que cela se fasse sur la meme page.
Je ne doute pas que tu vas me proposer une solution
D'avance MERCI
 
C

Compte Supprimé 979

Guest
Re : EXCEL probleme de facture

Re,

Tu peux utiliser la mise en page pour cela
Code:
'IMPRESSION DE LA FACTURE
Private Sub CommandButton1_Click()
  Dim DerLig As Long
  With Sheets("Facture")
    ' Trouver la dernière ligne de la colonne E
    DerLig = .Range("E" & Rows.Count).End(xlUp).Row
    ' Définir la nouvelle zone d'impression
    With .PageSetup
      .PrintArea = "$B$1:$F$" & DerLig
      [B][COLOR=blue].Zoom = False
      .FitToPagesWide = 1
      .FitToPagesTall = 1
[/COLOR][/B]    End With
    ' Imprimer la page
    .PrintOut Copies:=1, Collate:=True
  End With
End Sub

A+
 

Arkonide51

XLDnaute Nouveau
Re : EXCEL probleme de facture

DESOLEE et merci,

Tu dois te creuser la tete pour moi

Je n'arrive toujours pas à imprimer la plage "B29:F34" à la suite de ce qui fonctionne c'est à dire la reduction des lignes de la facture.

Une petite aide encore si tu veux bien....
Merci
 
C

Compte Supprimé 979

Guest
Re : EXCEL probleme de facture

Re,

Si tu veux plus d'aide ... MERCI de JOINDRE un FICHIER
Ca nous évitera de parler dans le vide :rolleyes:
 
Dernière modification par un modérateur:
C

Compte Supprimé 979

Guest
Re : EXCEL probleme de facture

Salut Arkonide51

Comme on dit toujours sur ce forum ...
c'est plus simple de comprendre avec un fichier ;):D

Si je relis ton 1er post et que je regarde ton fichier,
normalement ce code devrait te convenir
Code:
'IMPRESSION DE LA FACTURE
Private Sub CommandButton1_Click()
  Dim DerLig As Long
  With Sheets("Facture1")
    ' Trouver la dernière ligne de la colonne C
    DerLig = .Range("C10").End(xlDown).Row
    ' Définir la nouvelle zone d'impression
    With .PageSetup
      .PrintTitleRows = "$1:$" & DerLig
      .PrintArea = "$B$29:$F$34"
    End With
    ' Imprimer la page
    .PrintOut Copies:=1, Collate:=True
  End With
End Sub
Avec ce code, on considère l'entête de la facture + les lignes d'articles comme un ensemble de lignes de titre
Le bas de page de ta facture étant la zone d'impression

Comme ça tu n'as que le stricte nécessaire au niveau du nombre de lignes imprimé ;)

A+
 

Discussions similaires

Réponses
17
Affichages
1 K

Membres actuellement en ligne

Statistiques des forums

Discussions
312 505
Messages
2 089 070
Membres
104 019
dernier inscrit
BenKmc