Affichage resultat de recherche

Gexk5

XLDnaute Occasionnel
Bonsoir le forum,
Voici mon sujet, j'ai une base de données, et suivant les machines, un taux de charge, je voudrais lorsqu'on clique sur le numéro de machine, s'affiche les references , la quantité à faire et le nombre d'equipe, soit a coté de mon tableau soit dans un userform, ou autre si vous avez des idées ( lumineuses comme d'hab )

Je joints mon fichier pour plus d'explications

Merci pour vos reponses
 

Pièces jointes

  • Affichage Gex.xls
    128 KB · Affichages: 56

Papou-net

XLDnaute Barbatruc
Re : Affichage resultat de recherche

Bonsoir Gexk5, Hippolite, phlaurent55,

@ phlaurent55 : les données sont sur la 1ère feuille (Calcul charge Mach)

@ Gexk5 : vois si la solution proposée sur le fichier joint répond à ta demande.

Cordialement à tous.
 

Pièces jointes

  • Copie de Affichage Gex.xls
    163 KB · Affichages: 73

Gexk5

XLDnaute Occasionnel
Re : Affichage resultat de recherche

Bonjour le forum, Hippolite, phlaurent55, Papou-net
Merci pour ta reponse Papou-net, a premiere vue, tu as lu le post entier et regardé mon fichier aussi ( lol )
Comme tu as fais me convient parfaitement, juste une petite question, est il possible de ne pas afficher la reference si la quantité est égale a 0???

Encore merci pour ta reponse
 

Gexk5

XLDnaute Occasionnel
Re : Affichage resultat de recherche

Re le forum,hippolite, phlaurent, Papou-net
Après intégration dans mon fichier original, j'ai bien le Userform qui s'affiche mais pas les listview avec les resultats, en reconfigurant la feuille Calcul Charge Mach comme ma feuille originale dans le fichier exemple, reponse de Papou-net , ca fonctionne
Quelqu'un a une idée, j'ai oublié quelque chose, je ne vois pas

Voici le code de Papou

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Left(ActiveCell.Value, 3) = 233 Then Exit Sub
On Error Resume Next
With Sheets("Calcul charge Mach")
Set Mach = .Range("4:4").Find(ActiveCell.Value, LookIn:=xlValues, lookat:=xlWhole)
If Mach Is Nothing Then Exit Sub
cl = Mach.Column - 1
UserForm1.ListView1.ColumnHeaders.Clear
UserForm1.ListView1.ListItems.Clear
UserForm1.ListView1.ColumnHeaders.Add , , "Référence", 70
UserForm1.ListView1.ColumnHeaders.Add , , "Quantité", 70
UserForm1.ListView1.ColumnHeaders.Add , , "Nb d'Equipe", 60
lv = 1
For Each Cel In .Range(.Cells(5, cl), .Cells(68, cl)).SpecialCells(xlCellTypeConstants)
UserForm1.ListView1.ListItems.Add lv, , .Cells(Cel.Row, cl)
' For c = cl To cl + 2
UserForm1.ListView1.ListItems(lv).ListSubItems.Add 1, , .Cells(Cel.Row, cl + 1)
UserForm1.ListView1.ListItems(lv).ListSubItems.Add 2, , .Cells(Cel.Row, cl + 2)
' Next
lv = lv + 1
Next
End With
UserForm1.ListView1.View = lvwReport
UserForm1.Show
End Sub
Ma base de donnée commencait a la colonne A, jusqu' à la ligne 68
Ma nouvelle base commence en colonne G , jusqu'à la ligne 433, j'ai donc changé
For Each Cel In .Range(.Cells(5, cl), .Cells(433, cl)).SpecialCells(xlCellTypeConstants)
Help!!!!

Merci de vos lumières
 

Papou-net

XLDnaute Barbatruc
Re : Affichage resultat de recherche

Bonsoir Gexk5,

Tu dois, dans l'éditeur VBA , cliquer droit dans 'Boîte à outils', 'Contrôles supplémentaires" et sélectionner 'Microsoft ListView Control, version..'

Je pense que ton problème vient de là.

Cordialement.
 

Gexk5

XLDnaute Occasionnel
Re : Affichage resultat de recherche

Re le forum,
Le problème est resolu, en fait dans les colonnes references, il ne faut pas de formule, alors que dans ma base originale, toutes les valeurs sont des repport de celulle, en mettant en "dur" les ref, ca fonctionne.

Pas d'idées pour ne pas afficher si la quantité est a 0 ?????
Merci pour votre aide
 

Papou-net

XLDnaute Barbatruc
Re : Affichage resultat de recherche

Pas d'idées pour ne pas afficher si la quantité est a 0 ?????

Bonjour Gexk5,

Il faut rajouter une condition If...Then dans la boucle, comme ci-dessous :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Left(ActiveCell.Value, 3) = 233 Then Exit Sub
On Error Resume Next
With Sheets("Calcul charge Mach")
  Set Mach = .Range("4:4").Find(ActiveCell.Value, LookIn:=xlValues, lookat:=xlWhole)
  If Mach Is Nothing Then Exit Sub
  cl = Mach.Column - 1
  UserForm1.ListView1.ColumnHeaders.Clear
  UserForm1.ListView1.ListItems.Clear
  UserForm1.ListView1.ColumnHeaders.Add , , "Ref1", 50
  UserForm1.ListView1.ColumnHeaders.Add , , "Ref2", 50
  UserForm1.ListView1.ColumnHeaders.Add , , "Ref3", 50
  lv = 1
  For Each Cel In .Range(.Cells(5, cl), .Cells(68, cl)).SpecialCells(xlCellTypeConstants)
    If .Cells(Cel.Row, cl) > 0 And .Cells(Cel.Row, cl + 1) > 0 Then
      UserForm1.ListView1.ListItems.Add lv, , .Cells(Cel.Row, cl)
      UserForm1.ListView1.ListItems(lv).ListSubItems.Add 1, , .Cells(Cel.Row, cl + 1)
      UserForm1.ListView1.ListItems(lv).ListSubItems.Add 2, , .Cells(Cel.Row, cl + 2)
      lv = lv + 1
    End If
  Next
End With
UserForm1.ListView1.View = lvwReport
UserForm1.Show
End Sub

Bonne soirée.

Cordialement.
 

Discussions similaires

Statistiques des forums

Discussions
312 482
Messages
2 088 765
Membres
103 954
dernier inscrit
SirJah