problème with et end with

grisan29

XLDnaute Accro
bonjour a tous

dans le code qui suit je ne comprends pas pourquoi j'ai un souci avec with et end with
Code:
 Private Sub ajout_Click()
Dim j As Long
Dim L As Long
With Sheets("Commande")
                    L = .Range("B65536").End(xlUp).Row
                    For j = 1 To Me.ListView1.ListItems.Count
                        .Range("b" & L + j).Value = "1"
                        .Range("C" & L + j).Value = Me.ListView1.ListItems(j).ListSubItems(1).Text
                       
                        If Me.ListView1.ListItems(j).ListSubItems(3).Text <> "" Then
                            .Range("J" & L + j).Value = Me.ListView1.ListItems(j).ListSubItems(3).Text 'unité
                            .Range("J" & L + j).Font.Size = 14
                            .Range("J" & L + j).Font.Name = "arial"
                        End If
                        If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(4)) Then
                            .Range("K" & L + j).Value = CDbl(Me.ListView1.ListItems(j).ListSubItems(4).Text) 'q
                            .Range("K" & L + j).Font.Size = 14
                            .Range("K" & L + j).Font.Name = "arial"
                        End If
                        If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(5)) Then
                            .Range("I" & L + j).Value = CDbl(Me.ListView1.ListItems(j).ListSubItems(5).Text) 'pu
                            .Range("I" & L + j).Range("I" & L + i).NumberFormat = "#,##0.00€"
                            .Range("I" & L + j).Font.Size = 14
                            .Range("I" & L + j).Font.Name = "arial"
                        End If
'====================================================================
'==============================tva7================================
                        If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(6)) Then
                            .Range("M" & L + j).Value = CDbl(Me.ListView1.ListItems(j).ListSubItems(6).Text) 'TVA7=1
                            .Range("M" & L + j).Font.Size = 14
                            .Range("M" & L + j).Font.Name = "arial"
                        End If
'=============================tva19==================================
                        If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(7)) Then
                            .Range("M" & L + j).Value = CDbl(Me.ListView1.ListItems(j).ListSubItems(7).Text) 'TVA19=2
                            .Range("M" & L + j).Font.Size = 14
                            .Range("M" & L + j).Font.Name = "arial"
                        End If
'============================taux tva7====================================
                        If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(8)) Then
                            .Range("O" & L + j).Value = CDbl(Me.ListView1.ListItems(j).ListSubItems(8).Text) 'taux tva7
                            .Range("O" & L + j).NumberFormat = "#,##0.00€"
                            .Range("O" & L + j).Font.Size = 14
                            .Range("O" & L + j).Font.Name = "arial"
                        End If
'==============================taux tva 19================================
                        If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(9)) Then
                            .Range("P" & L + j).Value = CDbl(Me.ListView1.ListItems(j).ListSubItems(9).Text) 'taux tva 19
                            .Range("P" & L + j).NumberFormat = "#,##0.00€"
                            .Range("P" & L + j).Font.Size = 14
                            .Range("P" & L + j).Font.Name = "arial"
                        End If
                        
'====================================================================================
'=================================================================================
                        If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(11)) Then
                            .Range("L" & L + j).Value = CDbl(Me.ListView1.ListItems(j).ListSubItems(11).Text) 'q*pu
                            .Range("L" & L + j).NumberFormat = "#,##0.00€"
                            .Range("L" & L + j).Font.Size = 14
                            .Range("L" & L + j).Font.Name = "arial"
                      
                      End If
                    End With
                  Next j
                 
                    Me.ListView1.ListItems.Clear
                    TextBox17.Value = ""
                    TextBox18.Value = ""
                    TextBox10.Value = ""
                    TOTTVA.Value = ""
                    TextBox12.Value = ""
                  
                End Sub
c'est un code issu d'un bouton qui vide le contenu d'une listview sur feuille
 
Dernière édition:

grisan29

XLDnaute Accro
Re : problème with et end with

bonjour jecheche et le forum
j'ai déja essayer cela mais ca me donne une erreur de syntaxe
voici le code complet du bouton, a mon retour ce midi j'essayerai de t'envoyer un fichier si besoin

c'est le souci des with end with depuis que j'ai essayer de mettrele format des lignes
Code:
Private Sub valider_Click()

    Dim L As Long, C As Byte
    
    
    With Sheets("Commande")
        L = .Range("B65536").End(xlUp).Row
        For i = 1 To Me.ListView1.ListItems.Count
            .Range("b" & L + i).Value = "1"
            .Range("C" & L + i).Value = Me.ListView1.ListItems(i).ListSubItems(1).Text
            If UCase(.Range("C" & L + i).Value) <> .Range("C" & L + i).Value Then
                .Range("A" & L + i).Font.Italic = True
                .Range("A" & L + i).Font.Size = 14
                .Range("A" & L + i).Font.Name = "arial"
            End If
           If Me.ListView1.ListItems(i).ListSubItems(2).Text <> "" Then
            .Range("D" & L + i).Value = Me.ListView1.ListItems(i).ListSubItems(2).Text
           End If

' ++++++++++++++++++++++++++++++++++++mise en forme des lignes+++++++++++++++++++++
            If Me.ListView1.ListItems(i).ListSubItems(2).Text <> "" Then
                
                .Range("D" & L + i) = Me.ListView1.ListItems(i).ListSubItems(2).Text
                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" & L + i, "H" & L + i)
                    .Font.Size = 14
                    .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
                    .Columns(4).ColumnWidth = Lg_Origine
                'End With
                End With
            End If
            Next i
'+++++++++++++++++++++++++++++++++++++++++++DESIGNATION++++++++++++++++++++++++++++++++++++++++++++++++
                With Sheets("Commande")
                    L = .Range("B65536").End(xlUp).Row
                    For j = 1 To Me.ListView1.ListItems.Count
                        .Range("b" & L + j).Value = "1"
                        .Range("C" & L + j).Value = Me.ListView1.ListItems(j).ListSubItems(1).Text
  '==============================================unité======================================
                        If Me.ListView1.ListItems(j).ListSubItems(3).Text <> "" Then
                            .Range("J" & L + j).Value = Me.ListView1.ListItems(j).ListSubItems(3).Text 'unité
                            .Range("J" & L + j).Font.Size = 14
                            .Range("J" & L + j).Font.Name = "arial"
                        End If
'====================================================================================
                        If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(4)) Then
                            .Range("K" & L + j).Value = CDbl(Me.ListView1.ListItems(j).ListSubItems(4).Text) 'q
                            .Range("K" & L + j).Font.Size = 14
                            .Range("K" & L + j).Font.Name = "arial"
                        End If
 '====================================PU=====================================
                        If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(5)) Then
                            .Range("I" & L + j).Value = CDbl(Me.ListView1.ListItems(j).ListSubItems(5).Text) 'pu
                            .Range("I" & L + j).Range("I" & L + i).NumberFormat = "#,##0.00€"
                            .Range("I" & L + j).Font.Size = 14
                            .Range("I" & L + j).Font.Name = "arial"
                        End If

'==============================tva7================================
                        If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(6)) Then
                            .Range("M" & L + j).Value = CDbl(Me.ListView1.ListItems(j).ListSubItems(6).Text) 'TVA7=1
                            .Range("M" & L + j).Font.Size = 14
                            .Range("M" & L + j).Font.Name = "arial"
                        End If
'=============================tva19==================================
                        If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(7)) Then
                            .Range("M" & L + j).Value = CDbl(Me.ListView1.ListItems(j).ListSubItems(7).Text) 'TVA19=2
                            .Range("M" & L + j).Font.Size = 14
                            .Range("M" & L + j).Font.Name = "arial"
                        End If
'============================taux tva7====================================
                        If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(8)) Then
                            .Range("O" & L + j).Value = CDbl(Me.ListView1.ListItems(j).ListSubItems(8).Text) 'taux tva7
                            .Range("O" & L + j).NumberFormat = "#,##0.00€"
                            .Range("O" & L + j).Font.Size = 14
                            .Range("O" & L + j).Font.Name = "arial"
                        End If
'==============================taux tva 19================================
                        If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(9)) Then
                            .Range("P" & L + j).Value = CDbl(Me.ListView1.ListItems(j).ListSubItems(9).Text) 'taux tva 19
                            .Range("P" & L + j).NumberFormat = "#,##0.00€"
                            .Range("P" & L + j).Font.Size = 14
                            .Range("P" & L + j).Font.Name = "arial"
                        End If
                        

'=================================================================================
                        If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(11)) Then
                            .Range("L" & L + j).Value = CDbl(Me.ListView1.ListItems(j).ListSubItems(11).Text) 'q*pu
                            .Range("L" & L + j).NumberFormat = "#,##0.00€"
                            .Range("L" & L + j).Font.Size = 14
                            .Range("L" & L + j).Font.Name = "arial"
                        End If
                        end for
                    End With
                  Next j
                 
                    Me.ListView1.ListItems.Clear
                    TextBox17.Value = ""
                    TextBox18.Value = ""
                    TextBox10.Value = ""
                    TOTTVA.Value = ""
                    TextBox12.Value = ""
                  
                End Sub
 
Dernière édition:

eriiic

XLDnaute Barbatruc
Re : problème with et end with

Bonjour

end for n'existe pas.
Remplace par le next j que tu as mis à tort plus bas.
Ton 2nd With Sheets("Commande") est en trop puisque le 1er est toujours actif.
Code:
Private Sub valider_Click()


    Dim L As Long, C As Byte




    With Sheets("Commande")
        L = .Range("B65536").End(xlUp).Row
        For i = 1 To Me.ListView1.ListItems.Count
            .Range("b" & L + i).Value = "1"
            .Range("C" & L + i).Value = Me.ListView1.ListItems(i).ListSubItems(1).Text
            If UCase(.Range("C" & L + i).Value) <> .Range("C" & L + i).Value Then
                .Range("A" & L + i).Font.Italic = True
                .Range("A" & L + i).Font.Size = 14
                .Range("A" & L + i).Font.Name = "arial"
            End If
            If Me.ListView1.ListItems(i).ListSubItems(2).Text <> "" Then
                .Range("D" & L + i).Value = Me.ListView1.ListItems(i).ListSubItems(2).Text
            End If


            ' ++++++++++++++++++++++++++++++++++++mise en forme des lignes+++++++++++++++++++++
            If Me.ListView1.ListItems(i).ListSubItems(2).Text <> "" Then


                .Range("D" & L + i) = Me.ListView1.ListItems(i).ListSubItems(2).Text
                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" & L + i, "H" & L + i)
                    .Font.Size = 14
                    .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
                    .Columns(4).ColumnWidth = Lg_Origine
                    'End With
                End With
            End If
        Next i
        '+++++++++++++++++++++++++++++++++++++++++++DESIGNATION++++++++++++++++++++++++++++++++++++++++++++++++
        ' With Sheets("Commande")
        L = .Range("B65536").End(xlUp).Row
        For j = 1 To Me.ListView1.ListItems.Count
            .Range("b" & L + j).Value = "1"
            .Range("C" & L + j).Value = Me.ListView1.ListItems(j).ListSubItems(1).Text
            '==============================================unité======================================
            If Me.ListView1.ListItems(j).ListSubItems(3).Text <> "" Then
                .Range("J" & L + j).Value = Me.ListView1.ListItems(j).ListSubItems(3).Text    'unité
                .Range("J" & L + j).Font.Size = 14
                .Range("J" & L + j).Font.Name = "arial"
            End If
            '====================================================================================
            If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(4)) Then
                .Range("K" & L + j).Value = CDbl(Me.ListView1.ListItems(j).ListSubItems(4).Text)    'q
                .Range("K" & L + j).Font.Size = 14
                .Range("K" & L + j).Font.Name = "arial"
            End If
            '====================================PU=====================================
            If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(5)) Then
                .Range("I" & L + j).Value = CDbl(Me.ListView1.ListItems(j).ListSubItems(5).Text)    'pu
                .Range("I" & L + j).Range("I" & L + i).NumberFormat = "#,##0.00€"
                .Range("I" & L + j).Font.Size = 14
                .Range("I" & L + j).Font.Name = "arial"
            End If


            '==============================tva7================================
            If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(6)) Then
                .Range("M" & L + j).Value = CDbl(Me.ListView1.ListItems(j).ListSubItems(6).Text)    'TVA7=1
                .Range("M" & L + j).Font.Size = 14
                .Range("M" & L + j).Font.Name = "arial"
            End If
            '=============================tva19==================================
            If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(7)) Then
                .Range("M" & L + j).Value = CDbl(Me.ListView1.ListItems(j).ListSubItems(7).Text)    'TVA19=2
                .Range("M" & L + j).Font.Size = 14
                .Range("M" & L + j).Font.Name = "arial"
            End If
            '============================taux tva7====================================
            If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(8)) Then
                .Range("O" & L + j).Value = CDbl(Me.ListView1.ListItems(j).ListSubItems(8).Text)    'taux tva7
                .Range("O" & L + j).NumberFormat = "#,##0.00€"
                .Range("O" & L + j).Font.Size = 14
                .Range("O" & L + j).Font.Name = "arial"
            End If
            '==============================taux tva 19================================
            If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(9)) Then
                .Range("P" & L + j).Value = CDbl(Me.ListView1.ListItems(j).ListSubItems(9).Text)    'taux tva 19
                .Range("P" & L + j).NumberFormat = "#,##0.00€"
                .Range("P" & L + j).Font.Size = 14
                .Range("P" & L + j).Font.Name = "arial"
            End If




            '=================================================================================
            If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(11)) Then
                .Range("L" & L + j).Value = CDbl(Me.ListView1.ListItems(j).ListSubItems(11).Text)    'q*pu
                .Range("L" & L + j).NumberFormat = "#,##0.00€"
                .Range("L" & L + j).Font.Size = 14
                .Range("L" & L + j).Font.Name = "arial"
            End If
        Next j
    End With


    Me.ListView1.ListItems.Clear
    TextBox17.Value = ""
    TextBox18.Value = ""
    TextBox10.Value = ""
    TOTTVA.Value = ""
    TextBox12.Value = ""


End Sub
eric
 

grisan29

XLDnaute Accro
Re : problème with et end with

bonjour eric
merci de ta réponse, mais maintenant j'ai un autre bug index out of ubounds a la ligne
Code:
If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(11)) Then
                .Range("L" & L + i).Value = CDbl(Me.ListView1.ListItems(i).ListSubItems(11).Text) 'q*pu
                .Range("L" & L + i).NumberFormat = "#,##0.00€"
            End If
                Next i
            End With

car quand je rempli la listview tout se passe bien mais lors de l'appui sur "valider" la listview le bug apparait
je pense que cela est du au fait que la tranche et le commentaire n'ont pas de prix
bon je joint un fichier ce sera plus facile le bon fichier n'auras pas 2 lisview

j'ai essayer comme ceci mais les "0" se mettent bien et pas mieux, le commentaire s'inscrit quand même mais le bug empêche de continuer a remplir la listview
Code:
If .Range("D" & L + i) = Me.ListView1.ListItems(i).ListSubItems(2).Text Then 'article
      .Range("L" & L + i).Value = "0"
      .Range("K" & L + i).Value = "0"
      End If
 
Dernière édition:

grisan29

XLDnaute Accro
Re : problème with et end with

bonjour gosselien, merci de ta réponse mais smart indenter ne veux plus s'installer depuis office 2013 32bits et windows8 64bis depuis windows10 64 bits et office 2013 32bits, mais j'utilise cet indenter sur le net
je le l'ai pas encore fait le temps de trouvé le problème mais je vais le faire et je reviens

bon j'ai indenté le code du bouton qui est dans le classeur joint et j'ai pas vu d'amélioration
la seule chose qui cause le bug out of ubounts est le commentaire qu'il faut trouvé pour le mettre en place dans la même colonne que la tranche
en fait c'est cette partie du code qui pêche
Code:
For i = 1 To Me.ListView1.ListItems.Count '-1 ajouter suivant recherche du net
            .Range("C" & L + i).Value = Me.ListView1.ListItems(i).ListSubItems(1).Text 'tranche où commentaire
            If UCase(.Range("C" & L + i).Value) <> .Range("C" & L + i).Value Then
                .Range("C" & L + i).Font.Italic = True
            End If
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
Re : problème with et end with

bonsoir

sur la base de ton premier post,
là en bas , tu inverses simplement comme ceci, le next j d'abord puis end with après !
Code:
. . .
CDbl(Me.ListView1.ListItems(j).ListSubItems(11).Text) 'q*pu
                            .Range("L" & L + j).NumberFormat = "#,##0.00€"
                            .Range("L" & L + j).Font.Size = 14
                            .Range("L" & L + j).Font.Name = "arial"
                      
                      End If
               Next J
  End With
                               
                    Me.ListView1.ListItems.Clear
                    TextBox17.Value = ""
                    TextBox18.Value = ""
                    TextBox10.Value = ""

. . .


EDIT: sinon tu reprends tout:
Code:
Private Sub Ajout_Click()
Dim L As Long, J As Long
With Sheets("Commande")
                    L = .Range("B65536").End(xlUp).Row
                    For J = 1 To Me.ListView1.ListItems.Count
                        .Range("b" & L + J).Value = "1"
                        .Range("C" & L + J).Value = Me.ListView1.ListItems(J).ListSubItems(1).Text
                       
                        If Me.ListView1.ListItems(J).ListSubItems(3).Text <> "" Then
                            .Range("J" & L + J).Value = Me.ListView1.ListItems(J).ListSubItems(3).Text 'unité
                            .Range("J" & L + J).Font.Size = 14
                            .Range("J" & L + J).Font.Name = "arial"
                        End If
                        If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(4)) Then
                            .Range("K" & L + J).Value = CDbl(Me.ListView1.ListItems(J).ListSubItems(4).Text) 'q
                            .Range("K" & L + J).Font.Size = 14
                            .Range("K" & L + J).Font.Name = "arial"
                        End If
                        If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(5)) Then
                            .Range("I" & L + J).Value = CDbl(Me.ListView1.ListItems(J).ListSubItems(5).Text) 'pu
                            .Range("I" & L + J).Range("I" & L + i).NumberFormat = "#,##0.00€"
                            .Range("I" & L + J).Font.Size = 14
                            .Range("I" & L + J).Font.Name = "arial"
                        End If
'====================================================================
'==============================tva7================================
                        If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(6)) Then
                            .Range("M" & L + J).Value = CDbl(Me.ListView1.ListItems(J).ListSubItems(6).Text) 'TVA7=1
                            .Range("M" & L + J).Font.Size = 14
                            .Range("M" & L + J).Font.Name = "arial"
                        End If
'=============================tva19==================================
                        If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(7)) Then
                            .Range("M" & L + J).Value = CDbl(Me.ListView1.ListItems(J).ListSubItems(7).Text) 'TVA19=2
                            .Range("M" & L + J).Font.Size = 14
                            .Range("M" & L + J).Font.Name = "arial"
                        End If
'============================taux tva7====================================
                        If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(8)) Then
                            .Range("O" & L + J).Value = CDbl(Me.ListView1.ListItems(J).ListSubItems(8).Text) 'taux tva7
                            .Range("O" & L + J).NumberFormat = "#,##0.00€"
                            .Range("O" & L + J).Font.Size = 14
                            .Range("O" & L + J).Font.Name = "arial"
                        End If
'==============================taux tva 19================================
                        If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(9)) Then
                            .Range("P" & L + J).Value = CDbl(Me.ListView1.ListItems(J).ListSubItems(9).Text) 'taux tva 19
                            .Range("P" & L + J).NumberFormat = "#,##0.00€"
                            .Range("P" & L + J).Font.Size = 14
                            .Range("P" & L + J).Font.Name = "arial"
                        End If
                        
'====================================================================================
'=================================================================================
                        If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(11)) Then
                            .Range("L" & L + J).Value = CDbl(Me.ListView1.ListItems(J).ListSubItems(11).Text) 'q*pu
                            .Range("L" & L + J).NumberFormat = "#,##0.00€"
                            .Range("L" & L + J).Font.Size = 14
                            .Range("L" & L + J).Font.Name = "arial"
                      
                      End If
               Next J
End With
                 
                    Me.ListView1.ListItems.Clear
                    TextBox17.Value = ""
                    TextBox18.Value = ""
                    TextBox10.Value = ""
                    TOTTVA.Value = ""
                    TextBox12.Value = ""
                  
End Sub
 
Dernière édition:

grisan29

XLDnaute Accro
Re : problème with et end with

bonsoir Roland_M
merci de ta réponse , j'ai choisi de reprendre tout jusqu'au fichier mis en ligne pour essayer et le bug out of bounts s'est déplacer quasi en haut du code je te joints l'aperçu et le classeur que j'ai sur le bureau(même exemplaire) avec un plus pour l'ajout d'articles de grande longueurs de texte pour mettre la cellule en autofit
ce classeur n'intègre pas ton code
en fait je voudrais que la tranche et/où le commentaire qui sont aléatoirement dans la listview soit transmis correctement sur la feuille

pour les articles c'est bien j'ai réussi
 

Pièces jointes

  • bug outofbounts.jpg
    bug outofbounts.jpg
    66.8 KB · Affichages: 36
Dernière édition:

Roland_M

XLDnaute Barbatruc
Re : problème with et end with

Bonjour,

j'ai tout de même jeté un oeil sur ton code et ce qui ne va pas c'est le manque de test dans les saisies !?
on conçoit pas un programme sans test de sécurité sur les limites acceptables sinon c'est le plantage à chaque fois !
beaucoup travaillent ainsi mais ce n'est pas possible pour plusieurs utilisateurs, c'est pas pro du tout !!!

ensuite il n'y a rien de plus désarmant que de se retrouver devant une saisie sans même aucun choix ni de quoi il s'agit !?
exemple en arrivant sur l'userform il y a la première saisie: Tranche ?
c'est quoi au juste, une tranche de pain ou de saucisson !?
plus sérieux, on ne sait pas quoi entrer pour tester, des valeurs, du texte, les deux !?!
ce genre de chose va rebuter le premier venu qui voudra essayer de t'aider, il va laisser tomber de suite !

ensuite il faut procéder par étape, une chose à la fois et ne pas attendre d'être noyé !
personne ne va plonger dans ce genre d'affaire !
il faut assimiler le déroulement du programme, connaitre l'origine des données et le but à attendre . . .
et tout ça c'est vite rébarbatif !
bon courage.
 

ChTi160

XLDnaute Barbatruc
Re : problème with et end with

Bonjour Pascal
Bonjour le fil,Le Forum
je n'ai pas tout compris lol
pas possible de tester
Mais peut être en mettant ceux ci :[highlight=VB]
For J = 1 To Me.ListView1.ListItems.Count-1[/code]
a la place de ceux la
[highlight=VB]For J = 1 To Me.ListView1.ListItems.Count[/code]
plus office pour l'instant !!!!
Bonne journée
Amicalement
Jean Marie
 
Dernière édition:

grisan29

XLDnaute Accro
Re : problème with et end with

bonjour Roland_M, chti160 et le forum
chti160 le -1 a déja été essayer sans amélioration

une petite explication sur la tranche et le commentaire
la tranche n'est pas forcément pour le changement de métier mais aussi* pour dire dans quelle pièce on interviens et ce que l'on va y faire
le commentaire est fait pour rajouter un texte explicatif sur tel intervention, articles où autre
voir aperçu ci joint de la réalité de l'affaire et un autre d'une modification effectuer

bon a savoir le haut de l'userform actuel est absent c'est pour cela que ca commence par la "tranche"
 

Pièces jointes

  • apercu tranche.jpg
    apercu tranche.jpg
    46.9 KB · Affichages: 36
  • apercu tranche_commentaire.jpg
    apercu tranche_commentaire.jpg
    31.8 KB · Affichages: 25
Dernière édition:

grisan29

XLDnaute Accro
Re : problème with et end with

bonjour Roland_M,CHTI160 et le forum

j'ai fini par trouver une solution a mon problème, peut etre pas catholique mais qui fonctionne

Code:
If 11 <= Me.ListView1.ListItems(i).ListSubItems.Count Then
                If IsNumeric(Me.ListView1.ListItems(i).ListSubItems(11)) Then
                    .Range("L" & L + i).Value = CDbl(Me.ListView1.ListItems(i).ListSubItems(11).Text) 'q*pu
                    .Range("L" & L + i).NumberFormat = "#,##0.00€"
                End If

voila le code que j'ai modifer pour réussir a faire cohabiter tout
 

Statistiques des forums

Discussions
312 672
Messages
2 090 772
Membres
104 662
dernier inscrit
Hurve