Bonjour le Forum,

J'ai une petite question à vous soumettre. Je suis en pleine programmation d'une application qui permet - en gros - de faire un suivi de "Fiches Anomalie".
Je bloque sur la partie affichage du tableau de données.

Pour exposer mon souci voici quelques infos:
ma feuille "Données" contient les données
mon UserForm MultiPage contient un onglet "Visualisation"

l'utilisateur peut faire un choix sur les informations qu'il souhaite visualiser:
soit:
- les RefPiece (Listebox à choix multiple) = MultiPage.ListeRefPiece
- La ligne le production = Multipage.Ligne
- la machine de production = Multipage.Machine

En fonction des choix de l'utilisateur je souhaite remplir ma SpreadSheets avec les lignes correspondentes de ma feuille "Données". Tout les choix ne sont pas obligatoirement selectionnés. Je commence juste par programmer le code dans le cas suivant:
l'utilisateur souhaite voir les anomalies pour certaines références de pièces, sans indiquer de Ligne ni de Machine.

Tout d'abords est ce que cela est possible?
J'ai commencer mon code ainsi:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dim Table As Variant
Dim x As String 'adresses des cellules du tableau
Dim Cellules As Range 'cellules utilisées
 
Worksheets("Données").Activate
 
With UserForm.MultiPage
    'si pas de paramètre séléctionné: message d'erreur
   If .ListeRefPiece = "" And .Ligne = "" And .Machine = "" Then
    MsgBox "Faire un choix dans les paramètres d'affichages."
   Exit Sub
   End If
 
    'selection de ref piece uniquement
    If .ListeRefPiece <> "" And .Ligne = "" And .Machine = "" Then
J'ai trouvé sur le site les info suivantes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
'¤¤¤¤¤¤¤¤¤¤¤¤¤ affichage de la table complète:
 
' Dim Table As Variant
'    Dim x As String
'     Worksheets("Données").Activate
'
'    x = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Address
'
'    Table = Range("A1:" & x)
'    Tableau.ActiveSheet.Range("A1:" & x) = Table
Et je souhaiterais la modifier pour ne selectionner comme plage que les lignes correpsondant au choix de l'utilisateur.
Comment puis je mettre dans la variable "x" la plage de données voulu?
La Boucle For Each peut elle etre utilisée ainsi?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
For Each .ListeRefPiece.Value In .ListeRefPiece
Merci beaucoup pour votre aide!