grisan29
XLDnaute Accro
bonjour a vous
je suis en cours de modication de l'agencement de ma feuille facture et j'ai un petit problème avec
dans ce code
j'essaie de modifier les positions des colonnes en modifiant les numéros mais cela n'est pas bon car je me trouve avec une hauteur de ligne démesurée afin de l'intégré a ce code
cordialement
Pascal
je suis en cours de modication de l'agencement de ma feuille facture et j'ai un petit problème avec
Code:
.row.height et autofit
Code:
If Not Me.txtArticle = "" Then
.Rows(lig) = ""
.Range("D" & lig) = txtArticle.Value
Lg_Origine = .Columns(3).ColumnWidth
LargeurCol = .Columns(3).ColumnWidth + .Columns(4).ColumnWidth + .Columns(5).ColumnWidth + .Columns(6).ColumnWidth + _
.Columns(7).ColumnWidth + .Columns(8).ColumnWidth
.Columns(4).ColumnWidth = LargeurCol
With .Range("D" & lig, "H" & lig)
.Font.Size = 10
.Font.Name = "arial"
.MergeCells = False
.WrapText = True 'retour du texte à la ligne
.EntireRow.AutoFit 'mettre la ligne en ajustement auto de la hauteur
MaHauteur = .RowHeight 'voir quelle est la hauteur de la ligne une fois cet autofit fait
.MergeCells = True 'refusionner
.VerticalAlignment = xlCenter
.RowHeight = IIf(MaHauteur > 15, MaHauteur, 15) 'si la hauteur une fois autofit fait est inferieur à 15 je laisse 15 en minimum sinon hauteur de l'autofit (perso c'est la hauteur mini que je voulais
End With
End If
.Columns(1).ColumnWidth = Lg_Origine
Code:
Private Sub CommandButton2_Click()
Dim lig As Integer, CtrMt As Double, CtrTVA7 As Double, CtrTVA19 As Double
'calcul de la valeur de la variable lig
With Sheets("facturation")
lig = .Range("L65536").End(xlUp).Row
If (lig - 56) Mod 80 = 0 Then
'si page pleine, changement de page
ChangementPage lig + 3
lig = lig + 14
'si B19 est vide, c'est la première ligne à utiliser
ElseIf [L14] = "" Then
lig = 14
Else
'sinon, on prend la première ligne vide
lig = .Range("L65536").End(xlUp)(2).Row
End If
'insertion d'une ligne
.Rows(lig + 1).Insert
'définition des bordures de cellules
.Range(.Cells(lig, "A"), .Cells(lig, "F")).MergeCells = True
.Cells(lig, "A").Borders(xlEdgeLeft).LineStyle = xlContinuous
.Range(.Cells(lig, "G"), .Cells(lig, "K")).Borders(xlEdgeLeft).LineStyle = xlContinuous
.Range(.Cells(lig, "A"), .Cells(lig, "K")).Borders(xlEdgeTop).LineStyle = xlNone
.Range(.Cells(lig, "G"), .Cells(lig, "K")).Borders(xlInsideVertical).LineStyle = xlContinuous
.Range(.Cells(lig, "A"), .Cells(lig, "k")).VerticalAlignment = xlCenter
.Range(.Cells(lig, "A"), .Cells(lig, "K")).Borders(xlEdgeBottom).LineStyle = xlContinuous
.Range(.Cells(lig, "A"), .Cells(lig, "K")).Borders(xlEdgeRight).LineStyle = xlContinuous
.Range(.Cells(lig, "M"), .Cells(lig, "N")).VerticalAlignment = xlContinuous
.Range(.Cells(lig, "A"), .Cells(lig, "K")).Borders(xlEdgeTop).LineStyle = xlNone
.Range(.Cells(lig, "M"), .Cells(lig, "N")).Borders(xlEdgeLeft).LineStyle = xlContinuous
.Range(.Cells(lig, "M"), .Cells(lig, "N")).Borders(xlInsideVertical).LineStyle = xlContinuous
.Range(.Cells(lig, "M"), .Cells(lig, "N")).Borders(xlEdgeRight).LineStyle = xlContinuous
.Range(.Cells(lig, "M"), .Cells(lig, "N")).Borders(xlEdgeBottom).LineStyle = xlContinuous
.Range(.Cells(lig, "M"), .Cells(lig, "N")).Borders(xlEdgeTop).LineStyle = xlNone
DoEvents
'recopie et mise en forme des données dans la feuille facturation
.Range("L" & lig).Value = Txtnumero.Value
.Range("I" & lig).Value = Txt_vente.Value
.Range("K" & lig).NumberFormat = "###0"
If Me.OptionButton1 = True Then
.Range("K" & lig).Value = 1
Else
.Range("K" & lig).Value = 2
End If
.Range(.Cells(lig, "G"), .Cells(lig, "N")).HorizontalAlignment = xlCenter
.Cells(lig, "A").HorizontalAlignment = xlLeft
.Range(.Cells(lig, "G"), .Cells(lig, "M")).Font.Name = "Arial"
.Range(.Cells(lig, "A"), .Cells(lig, "M")).Font.Size = 12
.Cells(lig, "L").Font.Size = 9
.Cells(lig, "L").Font.ThemeColor = xlThemeColorDark1
.Cells(lig, "L").Font.TintAndShade = 0
.Cells(lig, "M").FormulaR1C1 = "=IF(RC[-2]=1,RC[-6]*RC[-4]*0.055,"""")"
.Cells(lig, "N").FormulaR1C1 = "=IF(RC[-3]=2,RC[-7]*RC[-5]*0.196,"""")"
.Cells(lig, "L") = Me.Txtnumero
.Cells(lig, "A") = Me.txtArticle
.Cells(lig, "G") = Me.txtPU
.Cells(lig, "H") = Me.txtUnité
.Cells(lig, "I") = Me.Txt_vente
'calcul du montant HT
If IsNumeric(.Cells(lig, "G")) And IsNumeric(.Cells(lig, "I")) Then
.Cells(lig, "J") = CDbl(.Cells(lig, "G")) * CDbl(.Cells(lig, "I"))
Else
.Cells(lig, "M") = ""
.Cells(lig, "N") = ""
End If
'calcul des totaux montant HT, TVA5,5, TVA 19,6
For i = lig To 1 Step -1
If .Cells(i, "I") <> "REPORT" And .Cells(i, "I") <> "Quantité" Then
If IsNumeric(.Cells(i, "J")) Then CtrMt = CtrMt + .Cells(i, "J")
If IsNumeric(.Cells(i, "M")) Then CtrTVA7 = CtrTVA7 + .Cells(i, "M")
If IsNumeric(.Cells(i, "N")) Then CtrTVA19 = CtrTVA19 + .Cells(i, "N")
ElseIf .Cells(i, "I") = "REPORT" Then
If IsNumeric(.Cells(i, "J")) Then CtrMt = CtrMt + .Cells(i, "J")
If IsNumeric(.Cells(i, "M")) Then CtrTVA7 = CtrTVA7 + .Cells(i, "M")
If IsNumeric(.Cells(i, "N")) Then CtrTVA19 = CtrTVA19 + .Cells(i, "N")
Exit For
End If
Next i
.Cells(lig + 2, "J") = CtrMt
.Cells(lig + 2, "M") = CtrTVA7
.Cells(lig + 2, "N") = CtrTVA19
Txtnumero.Value = ""
txtArticle.Value = ""
txtPU.Value = ""
Txt_vente.Value = ""
Txt_qté_stock_article.Value = ""
Txtrestant.Value = ""
txtUnité.Value = ""
End With
End Sub
Pascal
Dernière édition: