XL 2016 Aide UserForm VBA Excel SVP

excelimprover

XLDnaute Nouveau
Je voudrais que lorsque je clique sur le fichier excel, il n'y que le userform qui s'affiche.



J’ai trouvé ceci qui fonctionne et qui m’ouvre direct le userform :



Application.WindowState = xlMinimized

Database.Show vbModeless



Du coup j’ai aussi le excel qui s’ouvre et quand je le réduis le userform disparait aussi. Ce que je voudrais c’est que le userform ne disparaisse pas et que je puisse le réduire dans la barre des taches et pouvoir cliquer dessus quand bon me semble pour pouvoir l’utiliser.



Le userform est paramétré pour rechercher par soldto (=textbox1) mais je voudrais aussi pouvoir taper ancien soldto (=textbox12) et il m’afficherait alors les infos aussi comme pour le soldto (=textbox1). Si pas bonne référence alors je voudrais meme message d’erreur que pour (=textbox1).

Concernant les messages d’erreur, ensuite il me ferme le userform, je voudrais qu’il ne le ferme pas afin de pouvoir recommencer une saisie sans devoir aller cliquer sur le bouton userform dans le classeur excel.



Je voudrais pouvoir aussi rechercher par Nom client (=textbox2), que je commence a taper quelques lettres et il me propose les choix adaptés en menu déroulant juste en dessous de la case.



Avoir un petit drapeau France a coté de "France" dans la barre grise en haut à gauche.

Le mot de passe est abracadabra1618

Merci et bonne journée ;)
 

Pièces jointes

  • TEST 1 (Pour internet fake datas).xlsm
    44 KB · Affichages: 8

excelimprover

XLDnaute Nouveau
J'ai essayé de faire en sorte de pouvoir aussi chercher par initiales et numéro de téléphone mais cela ne fonctionne pas.. c bien ici que je dois modifier ? J'ai fais dupliquer la Cbx_Nom pour pouvoir l'adapter a initiales mais cela ne fonctionne pas. Je dois changer quelque chose dautre svp ?
2023-02-09 12 12 57.jpg
 

excelimprover

XLDnaute Nouveau
J'ai essayé de faire en sorte de pouvoir aussi chercher par initiales et numéro de téléphone mais cela ne fonctionne pas.. c bien ici que je dois modifier ? J'ai fais dupliquer la Cbx_Nom pour pouvoir l'adapter a initiales mais cela ne fonctionne pas. Je dois changer quelque chose dautre svp ?Regarde la pièce jointe 1163028
Je suppose que je dois aussi ajouter des lignes ici ? J'ai mis en gras ce que j'ai rajouté mais ca fontionne pas il m affiche toujours les nom clients dans combobox1 :(

Sub Load_Tbx(L, Cbx As Control)
Upd = True
Cbx_Sap.ForeColor = vbBlack
Cbx_Ancien.ForeColor = vbBlack
Cbx_Nom.ForeColor = vbBlack
ComboBox1.ForeColor = vbBlack

With [Tabgood].Parent
If Cbx.Name <> "Cbx_Sap" Then Cbx_Sap = .Cells(L, 1)
If Cbx.Name <> "Cbx_Nom" Then Cbx_Nom = .Cells(L, 2)
If Cbx.Name <> "ComboBox1" Then ComboBox1 = .Cells(L, 4)
TextBox7 = .Cells(L, 3)
TextBox6 = .Cells(L, 4)
TextBox24 = .Cells(L, 5)

If Cbx.Name <> "Cbx_Ancien" Then Cbx_Ancien = .Cells(L, 8)
TextBox16 = .Cells(L, 9)
TextBox8 = .Cells(L, 10)
TextBox9 = .Cells(L, 11)
TextBox25 = .Cells(L, 12)
TextBox21 = .Cells(L, 13)
TextBox3 = .Cells(L, 14)
TextBox4 = .Cells(L, 15)
TextBox22 = .Cells(L, 16)
TextBox23 = .Cells(L, 17)

TextBox18 = .Cells(L, 19)
TextBox19 = .Cells(L, 20)
TextBox26 = .Cells(L, 21)
TextBox28 = .Cells(L, 22)
 

fanch55

XLDnaute Barbatruc
Les données de la feuille Good ont été converties en table structurée de nom TabGood.

Pour le nouveau combobox,
il faut dire à quelle colonne de cette table il se réfère :
1675941860756.png
Ce que vous avez dupliqué est bon,
mais il faut "amender" la sub Load_Tbx
pour y inclure ce combobox et enlever l'ancien textbox
Enrichi (BBcode):
Sub Load_Tbx(L, Cbx As Control)
Upd = True
Cbx_Sap.ForeColor = vbBlack
Cbx_Ancien.ForeColor = vbBlack
Cbx_Nom.ForeColor = vbBlack

    With [Tabgood].Parent
If Cbx.Name <> "Cbx_Sap" Then Cbx_Sap = .Cells(L, 1)
If Cbx.Name <> "Cbx_Nom" Then Cbx_Nom = .Cells(L, 2)
        TextBox7 = .Cells(L, 3)
        TextBox6 = .Cells(L, 4)
        TextBox24 = .Cells(L, 5)
       
If Cbx.Name <> "Cbx_Ancien" Then Cbx_Ancien = .Cells(L, 8)
        TextBox16 = .Cells(L, 9)
        TextBox8 = .Cells(L, 10)
        TextBox9 = .Cells(L, 11)
        TextBox25 = .Cells(L, 12)
        TextBox21 = .Cells(L, 13)
        TextBox3 = .Cells(L, 14)
        TextBox4 = .Cells(L, 15)
        TextBox22 = .Cells(L, 16)
        TextBox23 = .Cells(L, 17)
       
        TextBox18 = .Cells(L, 19)
        TextBox19 = .Cells(L, 20)
        TextBox26 = .Cells(L, 21)
        TextBox28 = .Cells(L, 22)
        TextBox30 = .Cells(L, 23)
        TextBox27 = .Cells(L, 24)
        TextBox29 = .Cells(L, 25)
        TextBox11 = .Cells(L, 26)
        TextBox10 = .Cells(L, 27)
        TextBox5 = .Cells(L, 28)
        Dealeraccount.ControlTipText = "USE FORMAT xxxxx001"
    End With
   
    If L = Rows.Count Then
        Cbx.ForeColor = vbRed
        MsgBox Cbx.Tag & "  {" & Cbx & "}" & vbLf & "Entrée non trouvée"
    End If

   
Upd = False
End Sub
 

excelimprover

XLDnaute Nouveau
Les données de la feuille Good ont été converties en table structurée de nom TabGood.

Pour le nouveau combobox,
il faut dire à quelle colonne de cette table il se réfère :
Regarde la pièce jointe 1163030
Ce que vous avez dupliqué est bon,
mais il faut "amender" la sub Load_Tbx
pour y inclure ce combobox et enlever l'ancien textbox
Enrichi (BBcode):
Sub Load_Tbx(L, Cbx As Control)
Upd = True
Cbx_Sap.ForeColor = vbBlack
Cbx_Ancien.ForeColor = vbBlack
Cbx_Nom.ForeColor = vbBlack

    With [Tabgood].Parent
If Cbx.Name <> "Cbx_Sap" Then Cbx_Sap = .Cells(L, 1)
If Cbx.Name <> "Cbx_Nom" Then Cbx_Nom = .Cells(L, 2)
        TextBox7 = .Cells(L, 3)
        TextBox6 = .Cells(L, 4)
        TextBox24 = .Cells(L, 5)
     
If Cbx.Name <> "Cbx_Ancien" Then Cbx_Ancien = .Cells(L, 8)
        TextBox16 = .Cells(L, 9)
        TextBox8 = .Cells(L, 10)
        TextBox9 = .Cells(L, 11)
        TextBox25 = .Cells(L, 12)
        TextBox21 = .Cells(L, 13)
        TextBox3 = .Cells(L, 14)
        TextBox4 = .Cells(L, 15)
        TextBox22 = .Cells(L, 16)
        TextBox23 = .Cells(L, 17)
     
        TextBox18 = .Cells(L, 19)
        TextBox19 = .Cells(L, 20)
        TextBox26 = .Cells(L, 21)
        TextBox28 = .Cells(L, 22)
        TextBox30 = .Cells(L, 23)
        TextBox27 = .Cells(L, 24)
        TextBox29 = .Cells(L, 25)
        TextBox11 = .Cells(L, 26)
        TextBox10 = .Cells(L, 27)
        TextBox5 = .Cells(L, 28)
        Dealeraccount.ControlTipText = "USE FORMAT xxxxx001"
    End With
 
    If L = Rows.Count Then
        Cbx.ForeColor = vbRed
        MsgBox Cbx.Tag & "  {" & Cbx & "}" & vbLf & "Entrée non trouvée"
    End If

 
Upd = False
End Sub
merci j'ai réussi à ajouter champs de recherche pour telephone et initiales : j'ai bien dis aux nouveaux combobox a quelle table du classeur il se référe mais pour ce qui est d'amender la sub load tbx je ne sais pas ce que cela signifie: j'ai supprimé la textbox et rajouter "If Cbx.Name <> "ComboBox1" Then ComboBox1 = .Cells(L, " pour les nouveaux combobox il faut faire quelque chose en plus ?
 

excelimprover

XLDnaute Nouveau
Bonjour,
Si cela peut vous aider,
j'ai simplifié le code dans le classeur joint et intégré la combo "initiales" .
Merci énormement pour ce travail de fou !! Mais je suis face à une difficulté: j'ai un message d'erreur quand je clique sur la macro pour l'utiliser: 'Erreur d'execution 1004' la méthode Range de l'objet 'Global' a échoué..
1680511520416.png


Je voudrais aussi pouvoir rechercher par code postal le client car des fois il ne connait pas son n° de compte.
Pour tous les éléments de recherche, il se peut qu'il y ait plusieurs choix possibles: je voudrais alors qu'une petite liste apparaisse (10 lignes max par ex) pour qu'ensuite je puisse choisir la bonne ligne en cliquant dessus (dans cette liste je voudrais nom client adresse ...

Enfin, si je m'aperçois qu'il manque des données clients (email par ex) je voudrais pouvoir le rajouter directement depuis la macro et que celui s'ajoute au fichier excel tout seul..

Merci merci merci car je suis consciente de tout le travail ;)

Bonne journée.
 

fanch55

XLDnaute Barbatruc
Bonjour,
Content de savoir que ma proposition vous serve .
Quand vous avez trouvé une solution, faites le savoir en cochant l’icône sur la droite du post .
1680523839477.png


j'ai un message d'erreur quand je clique sur la macro pour l'utiliser: 'Erreur d'execution 1004' la méthode Range de l'objet 'Global' a échoué..
Je voudrais aussi pouvoir rechercher par code postal le client car des fois il ne connait pas son n° de compte.
Le classeur ci-joint devrait être plus explicite en cas d'erreur .
Le code postal en combobox de recherche y a été intégré .


Pour tous les éléments de recherche, il se peut qu'il y ait plusieurs choix possibles: je voudrais alors qu'une petite liste apparaisse (10 lignes max par ex) pour qu'ensuite je puisse choisir la bonne ligne en cliquant dessus (dans cette liste je voudrais nom client adresse ...

Enfin, si je m'aperçois qu'il manque des données clients (email par ex) je voudrais pouvoir le rajouter directement depuis la macro et que celui s'ajoute au fichier excel tout seul..
Je ne comprend pas la notion de liste décrite, sans doute parce qu'elle n'a plus rien à voir avec le post initial, comme la demande de mise à jour.

Vous devriez clore ce post et faire une nouvelle demande en joignant un classeur un peu plus représentatif ...
 

Pièces jointes

  • TEST 3 F55.xlsm
    50.7 KB · Affichages: 5

Discussions similaires

Réponses
8
Affichages
435
Réponses
4
Affichages
444

Statistiques des forums

Discussions
315 103
Messages
2 116 228
Membres
112 690
dernier inscrit
noureddinee