Plantage sur macro après tri

karinette

XLDnaute Occasionnel
Bonsoir au forum,
Décidément, en ce moment, je vous sollicite beaucoup ....
Voila mon soucis, j'ai une page qui est trié, et j'ai un listbox où la page triée apparait.
En cliquant sur une ligne, je remplies des textbox, et un bouton me permet de modifier la ligne que j'ai sélectionnée dans le listbox.
Lorsque la page n'est pas triée, pas de problème, mais lorsque qu'il y a eu un tri, je plante sur une ligne, et je ne comprends pas le problème. :confused:
le plantage (en rouge ):

Private Sub Modifier_Click()
Dim LstItem As ListItem, lvwLigne As Long, i As Byte, x As Long
On Error Resume Next
Set LstItem = ListView1.SelectedItem
On Error GoTo 0
If LstItem Is Nothing Then
MsgBox "Aucune ligne n'est sélectionnée."
Exit Sub
End If
lvwLigne = ListView1.SelectedItem.Index
'message falcultatif avant modif
If MsgBox("Voulez vous modifier les données ?", vbInformation + vbYesNo) = 6 Then
With ListView1
.ListItems(lvwLigne).text = TextBox1
For i = 1 To 12
.ListItems(lvwLigne).ListSubItems(i).text = Controls("TextBox" & i + 1)
Next
End With
x = ListView1.ListItems(lvwLigne).ListSubItems(13).text
With Sheets("BASE")
.Cells(x, 1) = TextBox1
.Cells(x, 2) = CDate(TextBox2)
For i = 3 To 9
.Cells(x, i) = Controls("TextBox" & i)
Next
.Cells(x, 10) = CDate(TextBox10)
.Cells(x, 11) = TextBox11
.Cells(x, 12) = TextBox12
.Cells(x, 13) = TextBox13
End With
End If

End Sub

S'il le faut je peux épurer le fichier pour le mettre en pièces jointes.
Merci ...
 

ledzepfred

XLDnaute Impliqué
Re : Plantage sur macro après tri

bonsoir karinette,

pas facile de t'aider sans fichier
cela ne vient pas plutot de la boucle
Code:
For i = 1 To 12
.ListItems(lvwLigne).ListSubItems(i).text = Controls("TextBox" & i + 1)
Next
Tu définis les 12 premiers sous items de la listbox mais pas le 13ème

du coup
Code:
x = ListView1.ListItems(lvwLigne).ListSubItems(13).text
plante

A+
 

karinette

XLDnaute Occasionnel
Re : Plantage sur macro après tri

Re bonjour au forum,
J'ai épuré le fichier pour pouvoir l'envoyer ...
Pour les bonnes âmes qui voudrais m'aider, mon soucis et le suivant, le USF me donne accès à des modifications.
Tout fonctionne bien lorsqu'il n'y à pas de tri.
Le problème, c'est que dès que je fais un TRI, les 3 options de modification plantent ...
 

Pièces jointes

  • karinette tri.zip
    35.4 KB · Affichages: 22
Dernière édition:

bqtr

XLDnaute Accro
Re : Plantage sur macro après tri

Bonjour à tous,

Je pense que ton erreur vient de la procédure de tri "Private Sub Selectionner_Click()", remplace :
Code:
'.../...
  X = .ListItems.Count
                For I = 1 To 13
'.../...
par
Code:
'.../...
  X = .ListItems.Count
                For I = 1 To [B]12[/B]
'.../...

Pour t'en rendre compte rend visible la dernière colonne de la listview en mettant sa largeur à 30 par exemple

Bonne journée
 

jeanpierre

Nous a quitté
Repose en paix
Re : Plantage sur macro après tri

Bonsoir karinette, ledzepfred, youky, bqtr,

Lepzedfred, utilise IZArc, il est gratuit et décompresse presque tout (lorsque je dis presque tout, c'est que je n'ai, sans doute pas, la dernière version). Je ne l'utilise que pour la décompression... c'est super.

Je ne suis pas très Google, mais pour une fois c'est bien.

Bonne soirée.

Jean-Pierre
 

ledzepfred

XLDnaute Impliqué
Re : Plantage sur macro après tri

Bonsoir Jeanpierre et merci pour l'info:)

je viens d'installer izarc et j'ai donc pu découvrir le fichier de karinette.
J'ai suivi les conseils avisés de bqtr concernant la procédure Selectionner_click et plus de bug, le pb venait du fait que la variable X prenait la valeur de la colonne 14 plutôt que la valeur de la ligne sélectionnée d'où l'incompatibilité de type.

A+
 

Discussions similaires

Réponses
0
Affichages
197
Réponses
1
Affichages
224

Membres actuellement en ligne

Statistiques des forums

Discussions
312 836
Messages
2 092 653
Membres
105 479
dernier inscrit
chaussadas.renaud