Problème Listbox (envoi donnée sur feuil + filtre + en-tête )

Youpsy

XLDnaute Junior
Re bonjour à tous pour la 3eme fois aujourd hui !

Pour vous expliquer simplement le principe de ce fichier... quand je double clique sur une cellule entre A6 et A10 mon userform s'ouvre.
De la j'ai 2 pages.. la 1ere ou je peux voir la liste du matériel qui peux être utilisé.
Et sur la 2eme je peux entrer du nouveau matériel dans la plage de donnée.

La ou je peine..
1. je n'arrive pas à mettre l'en-tête au bon endroit dans la listbox
2. J'aurai voulu pourvoir filtre en fonction du domaine ou par nom clé
3. envoyé les donnée sélectionner sur la listbox sur la ligne concernée

ex. double clic sur A6 ->sélection du matériel et validation -> complète cellule C6 ; D6 ; E6

Merci d'avance pour votre aide !
 

Pièces jointes

  • Matos.xls
    61.5 KB · Affichages: 35
  • Matos.xls
    61.5 KB · Affichages: 39
  • Matos.xls
    61.5 KB · Affichages: 40

Bebere

XLDnaute Barbatruc
Re : Problème Listbox (envoi donnée sur feuil + filtre + en-tête )

bonjour Youpsy
un essai à améliorer
exemple pas mis de contrôles sur les entrées objets userform
 

Pièces jointes

  • Matos.xls
    63.5 KB · Affichages: 36
  • Matos.xls
    63.5 KB · Affichages: 37
  • Matos.xls
    63.5 KB · Affichages: 39

Robert

XLDnaute Barbatruc
Repose en paix
Re : Problème Listbox (envoi donnée sur feuil + filtre + en-tête )

Bonsoir Youpsy, bonsoir Bebere, bonsoir le forum,

En pìèce jointe ton fichier modifié avec le code commenté. La plage nommée Domaines a été créée via le [Gestionnaire de Noms] et la fonction DECALER ce qui la rend dynamique... Pour l'ajout de nouveau matériel j'ai utilisé la propriété [Tag] des contrôles à renseigner. En cas d'oubli par l'utilisateur, un message s'affiche et la macro s'interrompt... je pense que dans ton fichier original la base de données et le tableau du Matériel Utilisé ne se trouve pas dans le même onglet. Tu devrais pouvoir adapté facilement...
Le fichier :
 

Pièces jointes

  • Youpsy_v01.xls
    84 KB · Affichages: 39
  • Youpsy_v01.xls
    84 KB · Affichages: 46
  • Youpsy_v01.xls
    84 KB · Affichages: 44

Youpsy

XLDnaute Junior
Re : Problème Listbox (envoi donnée sur feuil + filtre + en-tête )

Mille merci Bebere et Robert !

Je te remercie particulièrement Robert pour le fichier que tu as fait et surtout pour le temps que tu as du y passé !
Merci pour les commentaire qui m'ont beaucoup aider à la compréhension !!
 

Youpsy

XLDnaute Junior
Re : Problème Listbox (envoi donnée sur feuil + filtre + en-tête )

J'ai encore un petit soucis.... :(

j'aurai voulu adapter le code de Robert pour un autre classeur au moment d'envoyé un nouveau matériel dans la base de donnée..

Le classeur en question s'appelle fourniture..


Code:
Private Sub CommandButton1_Click() 'bouton "Ajouter ce matériel à la base de donnée !"

Dim CTRL As Control 'déclare la variable CTRL (ConTRôLe)
Dim I As Byte 'déclare la variable I (Incrément)
Dim NM As Long 'déclare la variable NM (Numéro Max)
Dim PLV As Long 'déclare la v ariable PLV (Première Ligne Vide)
For Each CTRL In Me.Frame1.Controls 'boucle sur tous les contrôles de la Frame1
    'condition1 : si le contrôle est une combobox ou une textbox
    If TypeOf CTRL Is MSForms.ComboBox Or TypeOf CTRL Is MSForms.TextBox Then
        If CTRL.Value = "" Then 'condition 2 : si le contrôle est vide
            MsgBox "Vous devez renseigner le champ : " & Me.Frame1.Controls(I).Tag & " !" 'message
            CTRL.SetFocus 'place le curseur dans le contrôle vide
            Exit Sub 'sort de la procédure
        End If 'fin de la condition 2
    End If 'fin de la condition 1
Next CTRL 'prochain contrôle de la boucle

PLV = DL + 1 'définit la première ligne vide PLV
NM = Application.WorksheetFunction.Max(PL) + 1
O1.Cells(PLV, 1).Value = NM 'place le Numéro ID Art
O1.Cells(PLV, 2).Value = "'" & MarqueTxt.Value 'place la marque
O1.Cells(PLV, 3).Value = "'" & DesignationPceTxt.Value 'place la désignation
O1.Cells(PLV, 4).Value = "'" & DomaineCbx.Value 'place le domaine
O1.Cells(PLV, 5).Value = "'" & NoArtTxt.Value 'place le Numéro de l'article
O1.Cells(PLV, 6).Value = "'" & PrixUTTxt.Value 'place prix unitaire
Unload Me 'vide et ferme l'UserForm2


End Sub

Merci pour votre aide !
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Problème Listbox (envoi donnée sur feuil + filtre + en-tête )

Bonjour Youpsy, bonjour le forum,

Tu dois définit la nom du classeur (il faut donc l'ouvrir) puis le nom de l'onglet dans lequel tu veux envoyer les données, puis redéfinir la variable PLV qui est adaptée à ton exemple.
Bref en nous disant que ton classeur s'appelle Fourniture ça nous aide absolument pas. Envoie les deux fichiers avec des explications claires pour qu'on comprenne.
 

Discussions similaires

Réponses
18
Affichages
708

Statistiques des forums

Discussions
312 388
Messages
2 087 871
Membres
103 672
dernier inscrit
ammarhouichi