code a modifier

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
Code:
.row.height et autofit
dans ce code
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
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
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
cordialement

Pascal
 
Dernière édition:

grisan29

XLDnaute Accro
Re : code a modifier

bonjour Pierrot93
il est sur que sans fichier l'on ne vas pas loin donc je vais réparer cet oubli en joignant le fichier épuré mais sans le code row height du 1 er post

cordialement

Pascal
 
Dernière édition:

grisan29

XLDnaute Accro
Re : code a modifier

bonjour a tous
sans fichier joint il y a eu réponse très amicale de Pierrot93 pour me faire comprendre que ce serait mieux de joindre un fichier, donc je l'ai joint et depuis pas une once de réponse

Merci de votre compréhension

Pascal
 

job75

XLDnaute Barbatruc
Re : code a modifier

Bonjour grisan29, salut Pierrot,

donc je l'ai joint et depuis pas une once de réponse

Probablement parce qu'on ne sait pas comment utiliser le fichier pour voir où il pêche.

En plus on est assez flemmard sur XLD, on n'aime pas se prendre la tête quand ce n'est pas clair :rolleyes:

Concernant l'histoire des RowHeight, voir l'aide VBA :

RowHeight, propriété

Cette propriété renvoie la hauteur, mesurée en points, de toutes les lignes de la plage spécifiée. Elle renvoie Null si les lignes de la plage spécifiée n'ont pas toutes la même hauteur. Type de données Variant en lecture-écriture.

Notes

Pour une ligne seule, la valeur de la propriété Height est égale à celle de la propriété RowHeight. Toutefois, vous pouvez également utiliser la propriété Height pour renvoyer la hauteur totale d'une plage de cellules.

Parmi les autres différences existant entre les propriétés RowHeight et Height, citons :

- Height est en lecture seule.

- Si vous renvoyez la propriété RowHeight de plusieurs lignes, vous obtenez soit la hauteur de chacune des lignes (si toutes les lignes ont la même hauteur), soit Null (si les lignes ont des hauteurs différentes). Si vous renvoyez la propriété Height de plusieurs lignes, vous obtenez la hauteur totale de toutes les lignes.

A+
 
Dernière édition:

grisan29

XLDnaute Accro
Resolu : code a modifier

bonjour Job75
concernant ma demande donc il s'agit de savoir comment faire pour que lors de l'inscription d'une ligne qui se déroule en 2;3 etc lignes qui se trouve dans la feuilles prestations vers la feuille facture dans les colonnes "A" à "F" et cela peut etre n'importe sur quelle lignes et a quel moment
le fichier joint compprte le code incriminé

Pascal

rebonjour
je ne sais pas comment j'ai fait mais cela fonctionne bien comme il faut maintenant, peut etre que je ne me trompais d'endroit dans le code pour mettre cette partie mais toujours est il que cela est rentrer dans l'ordre
a plus tard pour d'autres sujet

bon week end a tous

Pascal
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 503
Messages
2 089 053
Membres
104 013
dernier inscrit
VELONDAHY Mickaël