grisan29
XLDnaute Accro
bonjour a vous tous
dans le code qui suit j'ai un souci de mise en forme de la ligne, je voudrais que lorsque j'ai un article qui a une longue description puisse tenir dans le groupe .Range("D" & L + i, "H" & L + i) qui sont formatés pour le besoin, mais mes essais sont rester infructueux, le mieux que j'ai trouvé est celui la mais il m’élargis mes colonnes au lieu d'écrire "2" voir "3" où plus de "lignes" dans le groupe de cellule fusionnées
a l'ouverture de l'usf1 cliquer sur "liste des articles" pour accéder a l'usf des articles, le clic sur l’article choisi l'envoi dans les textbox de l'usf 1
il faut choisir dans la feuille"sanitaire" les longs articles
mais comme le code et mon explication ne sont surement pas très clair, je vous joints un fichier exemple
pascal
dans le code qui suit j'ai un souci de mise en forme de la ligne, je voudrais que lorsque j'ai un article qui a une longue description puisse tenir dans le groupe .Range("D" & L + i, "H" & L + i) qui sont formatés pour le besoin, mais mes essais sont rester infructueux, le mieux que j'ai trouvé est celui la mais il m’élargis mes colonnes au lieu d'écrire "2" voir "3" où plus de "lignes" dans le groupe de cellule fusionnées
Code:
Private Sub CommandButton8_Click()
Dim L As Long, C As Byte
Dim LargeurCol As Single, MaHauteur As Single, Lg_Origine As Single
With Worksheets("Commande")
L = .Range("C65536").End(xlUp).Row
For i = 1 To Me.ListView1.ListItems.Count
.Range("C" & L + i).Value = Me.ListView1.ListItems(i).ListSubItems(1).Text
.Range("C" & L + i).Font.Bold = True
If UCase(.Range("C" & L + i).Value) <> .Range("C" & L + i).Value Then
.Range("C" & L + i).Font.Italic = True
.Range("C" & L + i).Font.Size = 14
.Range("C" & L + i).Font.Bold = False
End If
If Me.ListView1.ListItems(i).ListSubItems(2).Text <> "" Then
.Range("D" & L + i).Value = Me.ListView1.ListItems(i).ListSubItems(2).Text ' article
.Range("D" & L + i).Font.Size = 14
Lg_Origine = .Columns(4).ColumnWidth
LargeurCol = .Columns(4).ColumnWidth + .Columns(5).ColumnWidth + .Columns(6).ColumnWidth + _
.Columns(7).ColumnWidth + .Columns(8).ColumnWidth
.Columns(4).ColumnWidth = LargeurCol
With .Range("D" & L + i, "H" & L + i)
.Font.Size = 14
.Font.Name = "arial"
'.MergeCells = False ' enlever le fusionnage
.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 > 16, MaHauteur, 16) '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
If Me.ListView1.ListItems(i).ListSubItems(3).Text <> "" Then
.Range("J" & L + i).Value = Me.ListView1.ListItems(i).ListSubItems(3).Text 'unité
.Range("J" & L + i).Font.Size = 14
End If
If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(4)) Then
.Range("K" & L + i).Value = CDbl(Me.ListView1.ListItems(i).ListSubItems(4).Text) 'q
.Range("K" & L + i).Font.Size = 14
End If
If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(5)) Then
.Range("I" & L + i).Value = CDbl(Me.ListView1.ListItems(i).ListSubItems(5).Text) 'pu
.Range("I" & L + i).NumberFormat = "#,##0.00€"
.Range("I" & L + i).Font.Size = 14
End If
If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(9)) Then
.Range("L" & L + i).Value = CDbl(Me.ListView1.ListItems(i).ListSubItems(9).Text) 'q*pu
.Range("L" & L + i).NumberFormat = "#,##0.00€"
.Range("L" & L + i).Font.Size = 14
End If
Next i
End With
Me.ListView1.ListItems.Clear
TextBox17.Value = ""
TextBox18.Value = ""
TextBox10.Value = ""
TOTTVA.Value = ""
TextBox12.Value = ""
End Sub
il faut choisir dans la feuille"sanitaire" les longs articles
mais comme le code et mon explication ne sont surement pas très clair, je vous joints un fichier exemple
pascal
Dernière édition: