Problémes TRI de données
COCOLASTICO29
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
COCOLASTICO29 Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
COCOLASTICO29 Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un petit probléme que je n'arrive pas à comprendre
Débutant en VBA je dois créer une interface sur un userform pour atomatiser le classement d'affaires ..
L'enregistrement de mes données par collone et ligne se fait via un deuxiéme userform par la trame suivante
Cela fonctionne parfaitement...
ces valeurs enregistrées sur le tableur sont intégrées sous forme de liste dans mes combobox sur mon userform1 qui fait le tri
exemple trame :
Mais lorsque je veux faire le tri entre mes differentes combobox dans mon premier userform un probléme survient ...
On m'affiche un bug à la ligne "For x = 1 To UBound(plage1)"
Je ne vois pas d'ou vient le probléme .. car lorsque que je rentre les données manuellement (sans la fonction d'enregistrement tout en haut) dans le tableur le tri focntionne...
J'espére avoir été assez clair ..
Je vous remercie d'avance si vous pouvez trouver une solution à mon probléme.
Cordialement,
COCO
j'ai un petit probléme que je n'arrive pas à comprendre
Débutant en VBA je dois créer une interface sur un userform pour atomatiser le classement d'affaires ..
L'enregistrement de mes données par collone et ligne se fait via un deuxiéme userform par la trame suivante
Sheets("feuil1").Activate
Range("C" & Range("C" & Cells.Rows.Count).End(xlUp).Row + 1).Select
ActiveCell.Value = TextBox1.Value
Range("D" & Range("D" & Cells.Rows.Count).End(xlUp).Row + 1).Select
ActiveCell.Value = TextBox2.Value
Range("E" & Range("E" & Cells.Rows.Count).End(xlUp).Row + 1).Select
ActiveCell.Value = ComboBox1.Value
Range("G" & Range("G" & Cells.Rows.Count).End(xlUp).Row + 1).Select
ActiveCell.Value = TextBox3.Value
Range("I" & Range("I" & Cells.Rows.Count).End(xlUp).Row + 1).Select
ActiveCell.Value = TextBox5.Value
Range("J" & Range("J" & Cells.Rows.Count).End(xlUp).Row + 1).Select
ActiveCell.Value = TextBox4.Value
Range("K" & Range("K" & Cells.Rows.Count).End(xlUp).Row + 1).Select
ActiveCell.Value = TextBox6.Value
Range("H" & Range("H" & Cells.Rows.Count).End(xlUp).Row + 1).Select
ActiveCell.Value = ComboBox2.Value
Range("L" & Range("L" & Cells.Rows.Count).End(xlUp).Row + 1).Select
ActiveCell.Value = ComboBox3.Value
Range("M" & Range("M" & Cells.Rows.Count).End(xlUp).Row + 1).Select
ActiveCell.Value = TextBox7.Value
Unload UserForm2
End Sub
Cela fonctionne parfaitement...
ces valeurs enregistrées sur le tableur sont intégrées sous forme de liste dans mes combobox sur mon userform1 qui fait le tri
exemple trame :
If ComboBox1 <> "" And ComboBox1.ListIndex <> -1 Then
ComboBox2 = Range("LISTE_COUNTRY").Cells(ComboBox1.ListIndex + 1, 1)
Else
ComboBox2 = "?????"
End If
Mais lorsque je veux faire le tri entre mes differentes combobox dans mon premier userform un probléme survient ...
'TRI PROSPECT -> UPDATE
With Worksheets("feuil1")
derlig = .Range("G" & Rows.Count).End(xlUp).Row
Plage = .Range("G6:G" & derlig)
Set Dico_Nom = CreateObject("Scripting.Dictionary")
For x = 1 To UBound(Plage, 1)
Dico_Nom(Plage(x, 1)) = ""
Next x
TMP = Dico_Nom.Keys 'Table sans doublon
Call tri(TMP, LBound(TMP, 1), UBound(TMP, 1)) 'tri alphabétique
ComboBox1.List = TMP
End With
On m'affiche un bug à la ligne "For x = 1 To UBound(plage1)"
Je ne vois pas d'ou vient le probléme .. car lorsque que je rentre les données manuellement (sans la fonction d'enregistrement tout en haut) dans le tableur le tri focntionne...
J'espére avoir été assez clair ..
Je vous remercie d'avance si vous pouvez trouver une solution à mon probléme.
Cordialement,
COCO
A voir également:
- Problémes TRI de données
- Fuite données maif - Guide
- Trier des données excel - Guide
- Logiciel tri photo - Guide
- Supprimer les données de navigation - Guide
- Reinstaller windows sans perte de données - Guide
2 réponses
Bonjour
Apparemment votre problème se situe au niveau de la "plage"
Plage = .Range("G6:G" & derlig).
N'est-elle pas vide?
Avez-vous tester avec une valeur autre que "G6" ?
Sans voir le sujet, difficile d'en dire plus.
cdlt
Apparemment votre problème se situe au niveau de la "plage"
Plage = .Range("G6:G" & derlig).
N'est-elle pas vide?
Avez-vous tester avec une valeur autre que "G6" ?
Sans voir le sujet, difficile d'en dire plus.
cdlt
Bonjour
à recopier pour les autres combobox
Cdlt
'TRI PROSPECT -> UPDATE Set Dico_Nom = CreateObject("Scripting.Dictionary") For Each Element In Range("G6:G" & Feuil1.Range("G" & Rows.Count).End(xlUp).Row) Dico_Nom(Element.Text) = "" Next TMP = Dico_Nom.Keys 'Table sans doublon Call tri(TMP, LBound(TMP, 1), UBound(TMP, 1)) 'tri alphabétique ComboBox1.List = TMP
à recopier pour les autres combobox
Cdlt
Le problème persiste.
Je vous transmet le fichier.
https://www.cjoint.com/c/EFchMyNjvMu
Cordialement