Bonsoir Forum, bonsoir Youki
j'ai essayé d'adapter la macro au fichier d'origine.
Je n'avais pas toutes les données au début de la discussion
Voici la nouvelle petite problématique :
la colonne commercial est en h et je dois pouvoir lancer la macro depuis n'importe quelle feuille (les differentes feuilles s'appellent mois_année)
j'ai retouché la macro de youki.
Elle lance bien la liste dans la listebox, par contre, la macro beug sur le nom de la feuille active.
voici l'extrait :
Private Sub ListBox1_Click()
Feuil4.[A2:J45000].ClearContents
r = 2
For lig = 2 To Worksheets(ActiveSheet.Name).[A65000].End(10).Row
If Worksheets(ActiveSheet.Name).Cells(lig, 2) = ListBox1 Then
Feuil4.Range("H" & r & ":G" & r).Value = Worksheets(ActiveSheet.Name).Range("H" & lig & ":G" & lig).Value
r = r + 1
End If
Next
Feuil4.Select
Unload UserForm1
End Sub
--------------------
je mets le reste du code car ça beug aussi sur les totaux :
Sub commercial()
Set dico = CreateObject("Scripting.Dictionary")
a = Range("H2:H" & [A65000].End(xlUp).Row) ' tableau a(n,1)
For i = LBound(a) To UBound(a)
If Left(a(i, 1), 5) <> "Total" Then dico(a(i, 1)) = ""
Next i
UserForm1.Caption = "CHOIX DU COMMERCIAL"
UserForm1.ListBox1.List = Application.Transpose(dico.keys)
UserForm1.Show
End Sub
Sub total()
Feuil4.[A2:J45000].ClearContents
r = 2
For lig = 2 To Worksheets(ActiveSheet.Name).[A65000].End(10).Row
If Left(Sheets().Cells(lig, 1), 5) = "Total" Then
Worksheets(ActiveSheet.Name).Range("H" & r & ":G" & r).Value = Worksheets(ActiveSheet.Name).Range("H" & lig & ":G" & lig).Value
r = r + 1
End If
Next
Worksheets(ActiveSheet.Name).Select
Unload UserForm1
End Sub
------------------------------------------
merci d'avance pour le coup de main
bonne soirée
christian