Userform résultats formules retournées automatiquement dans le formulaire

J'ai ajouter les nouvelles lignes de code.

Quand je fais une recherche et que je clique sur une ligne de résultat, il y a toujours "Date" qui s'affiche à la place de la date réelle.

Mon bouton "Ajouter dans base" est toujours grisé, malgé que sur certaines ligne le champ Lot est rempli aussi.

Pour la recherche,

Remplacez le code Textbox2_change par celui ci

Private Sub TextBox2_Change() 'recherche du N° marché ou chargé de mission
Dim prem
Dim i As Byte, col As Byte
Dim c As Range

Me.ListBox1.Clear
If TextBox2 = vbNullString Then Exit Sub

If Me.TextBox2 <> "" And IsNumeric(TextBox2.Value) Then col = 4 Else: col = 8
    With Feuil1.ListObjects(1)
        Set c = .ListColumns(col).Range.Find("*" & Me.TextBox2.Value & "*", LookIn:=xlValues)
        If Not c Is Nothing Then
           prem = c.Address
           i = 0
           Do
               Me.ListBox1.AddItem
               Me.ListBox1.List(i, 0) = .DataBodyRange(c.Row - 1, 1) 'date
               Me.ListBox1.List(i, 1) = .DataBodyRange(c.Row - 1, 2) 'annee
               Me.ListBox1.List(i, 2) = .DataBodyRange(c.Row - 1, 3) 'n°
               Me.ListBox1.List(i, 3) = .DataBodyRange(c.Row - 1, 4) 'N° marche
               Me.ListBox1.List(i, 4) = .DataBodyRange(c.Row - 1, 5) 'lot
               Me.ListBox1.List(i, 5) = .DataBodyRange(c.Row - 1, 6) 'N°lotType lot
               Me.ListBox1.List(i, 6) = .DataBodyRange(c.Row - 1, 7) 'Type lot
               Me.ListBox1.List(i, 7) = .DataBodyRange(c.Row - 1, 8) 'charge mission

               Set c = .ListColumns(col).Range.FindNext(c)
               i = i + 1
           Loop While Not c Is Nothing And c.Address <> prem
        End If
    End With
Set c = Nothing
End Sub

Mon bouton "Ajouter dans base" est toujours grisé, malgé que sur certaines ligne le champ Lot est rempli aussi.

Quel est le code que vous avez ?

Je viens de coller le nouveau code. Je n'ai pas encore vérifié.

Le code que j'ai pour le bouton "Ajoutee"

Private Sub btnAjout_Click()

With Feuil1.ListObjects(1)

    With .DataBodyRange
        .Item(lig, 7) = cboTypeMarche.Value
        .Item(lig, 8) = cboChargeMission.Value
        .Item(lig, 9) = cboProcedure.Value
        .Item(lig, 11) = txtObjet.Value
        .Item(lig, 13) = txtAttributaire.Value
        .Item(lig, 14) = txtSiret.Value
        .Item(lig, 15) = txtlanceProcedure.Value
        .Item(lig, 16) = txtDateRemisePli.Value
        .Item(lig, 17) = txtNotifi.Value
        .Item(lig, 19) = cboNaturePrix.Value
        .Item(lig, 20) = txtEstimaBeoins.Value
        .Item(lig, 21) = txtMontantHT.Value
        .Item(lig, 23) = txtDataAvisCGEFI.Value
        .Item(lig, 24) = txtDateCAO.Value
        .Item(lig, 25) = txtNotifAR.Value
        .Item(lig, 26) = txtDateAvisAttrib.Value
        .Item(lig, 28) = cboCloture.Value
    End With

End Sub

Pour le moment pas de changement, et voila ce que j'ai, même si je rempli les "Type de Marché" et "Chargé de mission", le bouton "Ajouter" est grisé

tab23

Supprimez toutes les lignes de codes de l'USF et remplacez-les par celles dans le fichier joint

14codes-usf.txt (8.06 Ko)

Pour la recherche dans la texbox2, vous pouvez utilisez les chiffres N° de marché ou les lettres des chargé de mission. Seule chose, vous ne pouvez pas utiliser le tiret de n° de marché. Vous ne devez entrer que des chiffres (soit un des 4 premiers ou des 3 derniers)
Le bouton Effacer désactive le bouton Ajouter.

Ok, je pars en réunion, je pourrais faire les changements que demain matin (heure guadeloupe).

Je vous tiendrai au cours des avances.

Merci et bonne soirée.

Bonjour Dan,

j'ai coller le nouveau code dans la USF, le bouton "Rechercher" ne fonctionne plus.

Bonjour

j'ai coller le nouveau code dans la USF, le bouton "Rechercher" ne fonctionne plus.

Comment cà ? Si vous double cliquez sur votre bouton (sans ouvrir l'usf), cela vous amène bien sur le code Private Sub btnRechercher_Click() ?

Sans excuter l'USF, quand je clique sur le bouton "Rechercher" , je crois qu'il insère la création d'un nouveau bouton juste en dessous du block Private Sub btnRechercher_Click() ?

tab24

je crois qu'il insère la création d'un nouveau bouton juste en dessous du block Private Sub btnRechercher_Click() ?

Alors c'est que vous avez votre bouton rechercher qui se nomme Commandbutton1_click

Sélectionnez votre bouton puis dans les propriétés du bouton, remplacez "Commandbutton1" par btnRechercher

Après vous pouvez supprimer le code commandbutton1_click

Bien vu !!!

En renommant le bouton ça marche !!!!!!!

Depuis le bouton recherche, j'ai cliquer sur une ligne de resultat, et en ajoutant Type de Marché et Chargé de Mission, le bouton "Ajouter" s"active.

Par ailleurs le champ Date fonctionne bien aussi, il récupère la vraie date ou l'enregistrement a été saisi.

Question,

depuis l'USF quand l'utilisateur clique sur le bouton "Voir la base source" il accès bien au tableau source :

1) comment on peut faire pour que l'utilsateur ne saisisse pas directement les données sur ce tableau source (tous les enregistrement doivent se faire depuis l'USF).

2) Est-ce que o peut mettre un bouton (ou icone) au dessus de ce Tableau source pour que l'utilisateur puisse revenir sur ma page de démarrage ?

1) comment on peut faire pour que l'utilsateur ne saisisse pas directement les données sur ce tableau source (tous les enregistrement doivent se faire depuis l'USF).

Il faut mettre un mot de passe sur votre feuille

2) Est-ce que o peut mettre un bouton (ou icone) au dessus de ce Tableau source pour que l'utilisateur puisse revenir sur ma page de démarrage ?

Oui bien sûr. Placez le bouton où vous voulez sur la feuille puis collez ce code dans le module 1 par exemple

Sub demarrage()
Feuil4.Select
End Sub

Ensuite associez le code au bouton

NB : on peut aussi faire en sorte que si vous cliquez sur une cellule définie, la même action sera effectuée. Cela vous évite le bouton mais c'est moins évident pour l'utilisateur

J'ai placé le bouton sur la feuille du Tableau source et cela fonctinne nickel !! Merci

Dernier point, sur ma feuille de démarrage il y a un bouton "Quitter" pour quitter l'ensemble du fichier excel, quel est code pour cela ?

Merci d'avance DAn et bonne soirée.

Finalement après des essais, le bouton que j'ai placé au dessus des titres du tableau cause problème. J'ai l'impression que ça fausse les résultats du boutons "Rechercher". J'ai dû donc effacer le bouton retour à la page de demarrage et le bouton "Rechercher" semble mieux fonctionner. Pas grave pour ce bouton.

Par ailleurs quand je fais une recherche par les Initiales du Chargé de Mission si je mets ""AA"" par exemple les résultats sont correctes. Mais si je met seulement "A",

la recherche retourne aussi la ligne des titres du tableau ou il y cerainement des lettres "A". La deuxième ligne des résultats sur l'image

tab25

Dans cette phase de test,

j'ai oublié un champ dans mon USF "Secteurs/Operations", peut-on le rajouter à l'USF sans que cela ne pose problème ?

Bonjour

Dernier point, sur ma feuille de démarrage il y a un bouton "Quitter" pour quitter l'ensemble du fichier excel, quel est code pour cela ?

Avec ce code :

Sub fermer()
ThisWorkbook.Close
End Sub

Attention que si des modifications sont apportées, excel vous demandera si vous voulez enregistrer ou pas.


Finalement après des essais, le bouton que j'ai placé au dessus des titres du tableau cause problème. J'ai l'impression que ça fausse les résultats du boutons "Rechercher".

Heu bah non cela n'a rien à voir. Mais bien entendu, il ne faut pas insérer une ligne au dessus des titres. Agrandissez la ligne 1 et placer le bouton au dessus par exemple.


Par ailleurs quand je fais une recherche par les Initiales du Chargé de Mission si je mets ""AA"" par exemple les résultats sont correctes. Mais si je met seulement "A",

Ok, il faut modifier le code Private Sub TextBox2_Change(), vous verrez deux fois SET C = ...
Dans ces deux lignes, remplacez RANGE par DATABODYRANGE


j'ai oublié un champ dans mon USF "Secteurs/Operations", peut-on le rajouter à l'USF sans que cela ne pose problème ?

Alors il faut revérifier tous les codes car cela implique afin que cette donnée soit reprise


Autre point, pour vos titres vous devriez changer la couleur de fond de la listbox (propriété Back color à mettre en gris par exemple) et mettre les propriétés LOCKED et ENABLED à valeur TRUE
Cela donnerait ceci par exemple

presse papier02

Bonjour Dan,

ok pour Bouton fermer --- Cela fonction

ok pour bouton retour page démarrage --- Cela fonctionne

ok pour les changements de la couleur de fond de la listbox --- Cela fonctionne

ok pour les DATABODYRANGE pour la zone de recherche --- Cela fonctionne

Seul point restant c'est le champ "Secteurs/Operations" qu'il faut que l'on intégre. Faut t'il que j'insère déjà cette colonne dans le tableau ou j'attends votre feu vert ?

Encore merci Dan.

Seul point restant c'est le champ "Secteurs/Operations" qu'il faut que l'on intégre. Faut t'il que j'insère déjà cette colonne dans le tableau ou j'attends votre feu vert ?

Dans le tableau, il est en J1 non ?

Par contre dans l'USF je ne vois pas d'objet à ce sujet

Rechercher des sujets similaires à "userform resultats formules retournees automatiquement formulaire"