Bonjour, Mon code ne fonctionne pas ! Au secours svp!!!

Fermé
aldim13 Messages postés 3 Date d'inscription mercredi 18 janvier 2017 Statut Membre Dernière intervention 24 janvier 2017 - 18 janv. 2017 à 12:13
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 30 janv. 2017 à 12:30
Bonjour,

Je ne suis pas très bon en matière de programmation VBA, aussi, je viens vers vous chercher un peu d'aide.
j'ai créé un tableau excel avec plusieurs colonnes. j'ai créé un ComboBox par lequel je passe pour réaliser mes différents filtres. toutefois, je souhaiterai dans ce même ComboBox ajouter une ListBox afin d'y s'electionner plusieurs critères dans la même colonne (des numéro de semaines compris dans une liste).
j'ai déjà créé ma ListBox1 avec la source, mais ma commande ne fonctionne pas quand je sélectionne la moindre semaine.

Si quelqu'un voulait bien jeter un coup d’œil à mon code pour m'aider j’apprécierais.
Cordialement.

aldim13
A voir également:

4 réponses

ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
18 janv. 2017 à 13:04
Bonjour Aldim, bonjour le forum,

Arf ! Une photo... Ça donne même pas envie de regarder.

Je te conseille vivement un fichier en pièce jointe ou, au pire, un copier/coller de ton code...
0
Whismeril Messages postés 19047 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 mai 2024 913
18 janv. 2017 à 15:41
Bonjour

au pire, un copier/coller de ton code
non pas au pire, c'est la méthode à privilégier, en utilisant les balises de code.
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
0
aldim13 Messages postés 3 Date d'inscription mercredi 18 janvier 2017 Statut Membre Dernière intervention 24 janvier 2017
Modifié par Chris 94 le 23/01/2017 à 17:50
Bonjour,

Je ne suis pas très bon en matière de programmation VBA, aussi, je viens vers vous chercher un peu d'aide.
j'ai créé un tableau excel avec plusieurs colonnes. j'ai créé un ComboBox par lequel je passe pour réaliser mes différents filtres. toutefois, je souhaiterai dans ce même ComboBox ajouter une ListBox afin d'y s'electionner plusieurs critères dans la même colonne (des numéro de semaines compris dans une liste).
j'ai déjà créé ma ListBox1 avec la source, mais ma commande ne fonctionne pas quand je sélectionne la moindre semaine.

Si quelqu'un voulait bien jeter un coup d’œil à mon code pour m'aider j’apprécierais.
Cordialement.

aldim13


Private Sub UserForm_Initialize()
ComboBox1.List = [AN].Value
ComboBox2.List = [SEM].Value
'ComboBox3.List = [SEM].Value
'ComboBox4.List = [SEM].Value
'ComboBox5.List = [SEM].Value
ComboBox6.List = [ACT].Value
ComboBox7.List = [CLTS].Value
ComboBox8.List = [AFF].Value

ListBox1.ColumnHeads = True
ListBox1.RowSource = "LISTES!d2:d54"

End Sub

Private Sub CommandButton8_Click()

With Sheets("SAISIES")

Sheets("SAISIES").Select

On Error Resume Next
For Each Sh In Sheets
    Sh.ShowAllData
Next Sh


If ComboBox1 <> "" Then
        .Range("$A$11:$N$4250").AutoFilter Field:=2, Criteria1:=Array(ComboBox1.Text), Operator:=xlFilterValues
          End If

If ComboBox2 <> "" Then
        .Range("$A$11:$N$4250").AutoFilter Field:=3, Criteria1:=Array(ComboBox2.Text), Operator:=xlFilterValues
          End If

'If ComboBox3 <> "" Then
        '.Range("$A$11:$N$4250").AutoFilter Field:=4, Criteria1:=Array(ComboBox3.Text), Operator:=xlFilterValues
        'ActiveSheet.Range("$A$11:$N$4250").AutoFilter Field:=14, Criteria1:="<>"

If ComboBox6 <> "" Then
        .Range("$A$11:$N$4250").AutoFilter Field:=5, Criteria1:=Array(ComboBox6.Text), Operator:=xlFilterValues
          End If

If ComboBox7 <> "" Then
        .Range("$A$11:$N$4250").AutoFilter Field:=7, Criteria1:=Array(ComboBox7.Text), Operator:=xlFilterValues
          End If

If ComboBox8 <> "" Then
        .Range("$A$1:$N$4250").AutoFilter Field:=8, Criteria1:=Array(ComboBox8.Text), Operator:=xlFilterValues
          End If


'CETTE COMMANDE NE FONTIONNE PAS !!!!!
    If ListBox1 <> "" Then
        .Range("$A$11:$N$4250").AutoFilter Field:=3, Criteria1:=Array(ListBox1.List), Operator:=xlFilterValues
          End If

End With


Application.GoTo Range("A1"), True
    Range("E10").Select

Application.ScreenUpdating = True

ActiveWorkbook.Save
End Sub
0
yg_be Messages postés 22821 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 mai 2024 1 471
23 janv. 2017 à 20:30
bonsoir, pour commencer: ajoute "option explicit" en début de code, et compile ton code.
ensuite, que veux-tu dire par "ma commande ne fonctionne pas"? as-tu un message d'erreur?
suggestion : exécute ton code en mode pas à pas, cela t'aidera sans doute à découvrir ce qui ne fonctionne pas.
0
aldim13 Messages postés 3 Date d'inscription mercredi 18 janvier 2017 Statut Membre Dernière intervention 24 janvier 2017
24 janv. 2017 à 15:16
Merci yg_be,

En fait mes filtres du dessus fonctionnent parfaitement, mais quand je lance le filtrage par la ListBox il ne se passe rien ! C'est à dire qu'un filtrage se lance, qui ne correspond pas a ma demande et ensuite quelque soit ma nouvelle sélection dans la ListBox le filtrage reste le même, au même titre que si je choisi plusieurs semaines dans ma ListBox...

J'ai essayé "Option Explicit" mais ça ne me donne pas plus d'info ! Ça plante tout de suite !!!

Merci encore.
0
yg_be Messages postés 22821 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 mai 2024 1 471
24 janv. 2017 à 18:41
Ça plante tout de suite avec un message d'erreur qui t'invite à corriger quelque-chose.
0
aldim13 > yg_be Messages postés 22821 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 mai 2024
30 janv. 2017 à 10:17
Bonjour yg_be,

Non, ça ne plante pas du tout ! en fait on dirait que le bouton active la macro, mais qu'elle ne fonctionne pas ! lors du premier filtre ma commande est exécutée et la colonne est filtrée, mais de manière incompréhensive et lors des filtres suivant, je vois bien que le filtre réagit, mais rien ne change...

je n'arrive pas a comprendre ou ça pêche !!!!
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 745
30 janv. 2017 à 12:30
Bonjour,

Si j'ai bien lu ta ListBox est MultiSelect?
Si oui, fais ce test :

1- ouvre un nouveau classeur,
2- insère un UserForm ,
3- dans cet userform insère :
  • une listbox (ListBox1)
  • 3 CommandButton (CommandButton1, CommandButton2, CommandButton3)

4- places ce code dans le module de l'userform :
Option Explicit

Private Sub CommandButton1_Click()
 MsgBox ListBox1
End Sub

Private Sub CommandButton2_Click()
 MsgBox ListBox1.ListIndex
End Sub

Private Sub CommandButton3_Click()
 MsgBox ListBox1.List(ListBox1.ListIndex)
End Sub

Private Sub UserForm_Initialize()
Dim i&
For i = 1 To 50
 ListBox1.AddItem "Liste " & i
Next
ListBox1.MultiSelect = fmMultiSelectMulti
End Sub


Puis amuse toi à tester en cliquant sur chacun des boutons :
1- sans rien sélectionner,
2- en sélectionnant une unique ligne de ta listbox,
3- en sélectionnant plusieurs lignes.

Les erreurs devraient alors être assez explicite.
0