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:
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
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
Et je souhaiterais la modifier pour ne selectionner comme plage que les lignes correpsondant au choix de l'utilisateur.
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
Comment puis je mettre dans la variable "x" la plage de données voulu?
La Boucle For Each peut elle etre utilisée ainsi?
Merci beaucoup pour votre aide!
Code : Sélectionner tout - Visualiser dans une fenêtre à part For Each .ListeRefPiece.Value In .ListeRefPiece
Partager