Autres Formulaire vba

stellamaris

XLDnaute Nouveau
Bonjour,
Je me forme tout seul et je suis loin (de France je veux dire). Et je ne sais pas à quel endroit poser ma question...
Alors j'ai ouvert une discussion bien que le sujet soit largement traité.
J'ai pris ici et là des bouts de code parce que je ne sais pas faire...
J'ai une base clients que je voudrais remplir avec un formulaire
Je me suis inspiré d'un exemple mais je n'arrive pas à l'adapter. Ca fait presque 2 jours que je tourne !
Alors je me résous à poster mon fichier. Si quelqu'un peut mettre le bon code qui va avec le formulaire que j'ai fait, ça me sauverait.
Les réponses dans le formulaire sont décalées en lignes et en colonnes et je n'ai pas toutes les box qui marchent
C'est un Excel 2007 plus tout jeune comme celui qui s'en sert !!
Merci à tous, bien cordialement
Jean
 

Pièces jointes

  • juste la base.xlsm
    91.2 KB · Affichages: 37

Dranreb

XLDnaute Barbatruc
Bonjour.
Votre UserForm prévoit 23 champs, or votre tableau (à consulter et mettre à jour, je suppose) ne comprend que 2 colonnes.
J'aurais un outils fameux à vous proposer s'il avait aussi 23 colonnes et si les critères identifiant une ligne existante ou à créer étaient saisissables dans des ComboBox.
 

stellamaris

XLDnaute Nouveau
Bonjour, merci pour le "bonus" et la mise en forme c'est bien. Je ne comprends pas ce que vous écrivez, c'est à dire que mon tableau comporte deux colonnes (??). Ma "customer base" est un tableau de 23 colonnes comme l'userform. Simplement le code vba qui doit faire fonctionner l'userform n'est pas adapté. Je l'ai pris sur un tuto de 7 colonnes et je ne sais pas l'adapter à mon cas. Je cherche donc quelqu'un qui puisse m'aider à faire fonctionner l'user form en lien avec le tableau de 23 colonnes. Pour les combo box s'il y a des modalités exemple, je saurai les adapter. Merci à vous de m'avoir répondu.
 

stellamaris

XLDnaute Nouveau
Bonjour.
Votre UserForm prévoit 23 champs, or votre tableau (à consulter et mettre à jour, je suppose) ne comprend que 2 colonnes.
J'aurais un outils fameux à vous proposer s'il avait aussi 23 colonnes et si les critères identifiant une ligne existante ou à créer étaient saisissables dans des ComboBox.
Je viens de télécharger mon fichier pour vérifier; j'ai bien envoyé un fichier appelé juste la base avec 23 colonnes. Simplement quand on ouvre le fichier on voit les 2 dernières colonnes de droite seulement; il faut juste revenir à gauche du tableau. Tout au moins si c'est pour cette raison que vous m'avez dit qu'il n'y avait que 2 colonnes
 

Dranreb

XLDnaute Barbatruc
Bonjour.
OK, désolé pour la méprise.
Mon outils vous intéresse-t-il alors ?
Le voulez vous sous forme de complément xlam dont le projet VBA appemé CLsCas sera coché dans les références de celui de votre classeur d'application, ou préfèreriez vous que ses modules de services soient implantés ?
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Ce que j'entends par module de service, c'est un module tout fait ne nécessitant pas de maintenance, tout y étant piloté par des arguments minimalistes à spécifier, propre à l'application, à laquelle il doit être capable de s'adapter en toute circonstance dans le cadre de ce qu'il est capable de faire. Ça peut être un module standard comme l'unique MSujetCBx de mon CBxLCtlA.xlam, mais c'est souvent un module de classe, comme il en existe 12 dans mon complément.
Mon outil est là :
 

soan

XLDnaute Barbatruc
Inactif
Bonjour Jean (et Stella), le fil,

j'espère que t'es plus en Inde, ni cerné par le COVID ! 😜 mets bien ta protection ! 😷 j'sais pas trop si Stella est ta secrétaire ou ta femme ! 😂 p't'être les 2 en même temps ? (c'est pas incompatible !) ; ça s'ra mieux si elle aussi met le masque ! 😷

ton fichier en retour. :) il y a 2 feuilles car j'ai ajouté la feuille "Quotation SF". (j'suppose que tu devines pourquoi, n'est-ce pas ? 😉) ; sur la feuille "Customer base", j'ai supprimé toutes les lignes vides de ton tableau structuré (ListObject) car un tel tableau ne doit pas avoir de ligne vide ! même mes lignes 6 à 8 ne sont pas correctes car je n'ai mis que la 1ère donnée Customer ID (le reste à droite est vide car je n'ai pas voulu saisir beaucoup de données) ; j'ai fait cela seulement pour que tu puisses voir dans UserForm1, pour le champ "Customer ID", que la liste déroulante contient uniquement les 4 items des 4 codes client, et rien d'autre ! 🙂

je te laisse tout tester en profondeur ; j'ai testé de mon côté ; les 3 boutons de commande de UserForm1 marchent très bien ! 😊



tout ce qui suit concerne le code VBA.

j'ai supprimé ton module de classe vide (donc inutile) nommé Classe1 ; idem pour tes 2 modules standards Module1 et Module2 ; j'ai ensuite renommé Module3 en Module1 ➯ maint'nant, tout le code VBA est dans ThisWorkbook ; le nouveau Module1 ; et le module de UserForm1 ; ça allège, hein ? 😄

regarde partout, car j'ai tout modifié, y compris le formulaire UserForm1 (présentation, changement du type inadéquat de certains contrôles, ajout de 2 contrôles manquants, noms de certains contrôles, ordre de tabulation, etc...).


Module de UserForm1 (110 lignes) :
VB:
Option Explicit

Private Sub ClrUF()
  Dim i As Byte: Application.ScreenUpdating = 0
  For i = 1 To 18
    Controls("TextBox" & Format(i, "00")) = ""
  Next i
  For i = 2 To 7
    Controls("ComboBox" & i) = ""
  Next i
End Sub

Private Sub ComboBox1_Change() 'quand le Code client change
  If ComboBox1 = "" Then ClrUF: Exit Sub
  If ComboBox1.ListIndex = -1 Then Exit Sub
  Dim d$, lig&, k As Byte, i As Byte
  lig = ComboBox1.ListIndex + 5: Application.ScreenUpdating = 0
  For i = 1 To 16
    k = i + 2 - 3 * (i > 13)
    Controls("TextBox" & Format(i, "00")) = Cells(lig, k)
  Next i
  d = Cells(lig, 23) * 100: k = Val(d): If k > 0 Then TextBox17 = k & "%"
  TextBox18 = Cells(lig, 25)
  For i = 2 To 7
    k = i - 13 * (i > 2) - 3 * (i > 5) - (i = 7)
    Controls("ComboBox" & i) = Cells(lig, k)
  Next i
End Sub

Private Sub ComboBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
  If KeyAscii = 27 Then ClrUF
End Sub

Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  Dim cel As Range, chn$: chn = ComboBox1: If chn = "" Then Exit Sub
  Set cel = Columns(1).Find(chn, , -4163, 1, 1): If cel Is Nothing Then ClrUF
End Sub

Private Function GD(chn$) As Variant 'GetDate
  If Not IsDate(chn) Then GD = "" Else GD = CDate(chn)
End Function

Private Function GP(chn$) As Variant 'GetPourcentage
  If Not IsNumeric(chn) Then GP = "" _
    Else GP = Int(Val(Replace$(chn, ",", "."))) / 100
End Function

Private Sub WriteContact(lig&)
  With Cells(lig, 1)
    .Value = ComboBox1             'Customer ID
    .Offset(, 1) = ComboBox2       'Category
    .Offset(, 2) = TextBox01       'Company
    .Offset(, 3) = TextBox02       'First name/Prénom
    .Offset(, 4) = TextBox03       'Last name/Nom
    .Offset(, 5) = TextBox04       'Address
    .Offset(, 6) = TextBox05       'Zip
    .Offset(, 7) = TextBox06       'City
    .Offset(, 8) = TextBox07       'State
    .Offset(, 9) = TextBox08       'Country
    .Offset(, 10) = TextBox09      'Phone
    .Offset(, 11) = TextBox10      'Cell
    .Offset(, 12) = TextBox11      'Website
    .Offset(, 13) = TextBox12      'E-mail
    .Offset(, 14) = GD(TextBox13)  'Contact Date
    .Offset(, 15) = ComboBox3      'Origin
    .Offset(, 16) = ComboBox4      'Product category
    .Offset(, 17) = ComboBox5      'Action done
    .Offset(, 18) = GD(TextBox14)  'When done
    .Offset(, 19) = TextBox15      'Action to be done
    .Offset(, 20) = GD(TextBox16)  'No later than
    .Offset(, 21) = ComboBox6      'Type
    .Offset(, 22) = GP(TextBox17)  'Discount
    .Offset(, 23) = ComboBox7      'Vaigah/SFT
    .Offset(, 24) = TextBox18      'Comments
  End With
  Application.ScreenUpdating = -1
End Sub

Private Sub cmdNew_Click() 'bouton Nouveau contact
  If MsgBox("Confirmez-vous l'insertion de ce nouveau contact ?", vbYesNo, _
    "Demande de confirmation d'ajout") <> vbYes Then Exit Sub
  WriteContact Cells(Rows.Count, 1).End(3).Row + 1
End Sub

Private Sub cmdModif_Click() 'bouton Modifier
  If MsgBox("Confirmez-vous la modification de ce contact ?", vbYesNo, _
    "Demande de confirmation de modification") <> vbYes Then Exit Sub
  If ComboBox1.ListIndex <> -1 Then WriteContact ComboBox1.ListIndex + 5
End Sub

Private Sub cmdQuit_Click() 'bouton Quitter
  Unload Me
End Sub

Private Sub UserForm_Initialize() 'initialisation du formulaire
  Dim T, n&
  With ActiveSheet.ListObjects("Customers")
    If Not .DataBodyRange Is Nothing Then
      n = .ListRows.Count: T = [A5].Resize(n): ComboBox1.List = T 'Customer ID
    End If
  End With
  ComboBox2.List = Array("Customer", "Prospect") 'Category
  ComboBox3.List = Array("Google", "Website", "Advertising", "Friends", "Hacked") 'Origin
  ComboBox4.List = Array("Moringa", "Soaps", "Honey", "Areca", "Bamboo") 'Product category
  ComboBox5.List = Array("Quotation", "Samples", "Brochure", _
    "Informations requested", "Mail", "Letter", "Phone call") 'Action done
  ComboBox6.List = Array("Individual", "Profesional") 'Type
  ComboBox7.List = Array("VAIGAH", "SFT") 'Vaigah / SFT
End Sub


Module1 :
VB:
Sub lancerFormulaire()
  If ActiveSheet.Name = "Customer base" Then UserForm1.Show
End Sub

note que UserForm1 est affiché uniquement si la feuille active est "Customer base" ! c'est pour ça que je n'ai pas eu besoin d'utiliser ta variable Ws (que j'ai supprimée) : le code VBA de UserForm1 utilise les contrôles de ce formulaire et les cellules d'une feuille de calcul ; ces cellules étant sans référence de feuille explicite, c'est donc implicitement les cellules de la feuille active qui est : "Customer base".


Module de ThisWorkbook :
VB:
Option Explicit

Private Sub Workbook_BeforePrint(Cancel As Boolean)
  Dim C As Range, test As Boolean
  'écrire devant Cancel = True pour tester sans imprimer, à supprimer pour imprimer
  Set C = ['Quotation SF'!H1] 'nom de la feuille à adapter
  test = C Like "N ###/##/####" And Format(Month(Date), "00") = Mid$(C, 7, 2) And Year(Date) = Val(Mid$(C, 10, 4))
  C = IIf(test, "N " & Format(Val(Mid$(C, 3, 3)) + 1, "000") & Mid$(C, 6, 99), "N 001/" & Format(Date, "mm/yyyy") & "")
End Sub

j'ai fait des petites modifs minimes dans cette sub ; à toi de tester à partir de la feuille "Quotation SF" ; pour moi c'est ok : les valeurs en H1 sont correctes. 😊 (code initial de départ « N 001/05/2021 » ; puis tous les codes suivants : "N 002/05/2021", "N 003/05/2021", "N 004/05/2021", etc...) ; rappel : cette sub est appelée juste avant impression : fais Ctrl p ; vérifie le code affiché en H1 ; puis appuie sur la touche Echap (ou clic / bouton Annuler) pour annuler l'impression et éviter un gaspillage inutile de papier : c'est plus écologique, et ça préserve la Planète et l'Environnement ! 🥳


si besoin, tu peux demander une adaptation.
à te lire pour avoir ton avis. 😉

soan​
 

Pièces jointes

  • juste la base.xlsm
    43.8 KB · Affichages: 11
Dernière édition:

stellamaris

XLDnaute Nouveau
Bonjour Jean (et Stella), le fil,

j'espère que t'es plus en Inde, ni cerné par le COVID ! 😜 mets bien ta protection ! 😷 j'sais pas trop si Stella est ta secrétaire ou ta femme ! 😂 p't'être les 2 en même temps ? (c'est pas incompatible !) ; ça s'ra mieux si elle aussi met le masque ! 😷

ton fichier en retour. :) il y a 2 feuilles car j'ai ajouté la feuille "Quotation SF". (j'suppose que tu devines pourquoi, n'est-ce pas ? 😉) ; sur la feuille "Customer base", j'ai supprimé toutes les lignes vides de ton tableau structuré (ListObject) car un tel tableau ne doit pas avoir de ligne vide ! même mes lignes 6 à 8 ne sont pas correctes car je n'ai mis que la 1ère donnée Customer ID (le reste à droite est vide car je n'ai pas voulu saisir beaucoup de données) ; j'ai fait cela seulement pour que tu puisses voir dans UserForm1, pour le champ "Customer ID", que la liste déroulante contient uniquement les 4 items des 4 codes client, et rien d'autre ! 🙂

je te laisse tout tester en profondeur ; j'ai testé de mon côté ; les 3 boutons de commande de UserForm1 marchent très bien ! 😊



tout ce qui suit concerne le code VBA.

j'ai supprimé ton module de classe vide (donc inutile) nommé Classe1 ; idem pour tes 2 modules standards Module1 et Module2 ; j'ai ensuite renommé Module3 en Module1 ➯ maint'nant, tout le code VBA est dans ThisWorkbook ; le nouveau Module1 ; et le module de UserForm1 ; ça allège, hein ? 😄

regarde partout, car j'ai tout modifié, y compris le formulaire UserForm1 (présentation, changement du type inadéquat de certains contrôles, ajout de 2 contrôles manquants, noms de certains contrôles, ordre de tabulation, etc...).


Module de UserForm1 (110 lignes) :
VB:
Option Explicit

Private Sub ClrUF()
  Dim i As Byte: Application.ScreenUpdating = 0
  For i = 1 To 18
    Controls("TextBox" & Format(i, "00")) = ""
  Next i
  For i = 2 To 7
    Controls("ComboBox" & i) = ""
  Next i
End Sub

Private Sub ComboBox1_Change() 'quand le Code client change
  If ComboBox1 = "" Then ClrUF: Exit Sub
  If ComboBox1.ListIndex = -1 Then Exit Sub
  Dim d$, lig&, k As Byte, i As Byte
  lig = ComboBox1.ListIndex + 5: Application.ScreenUpdating = 0
  For i = 1 To 16
    k = i + 2 - 3 * (i > 13)
    Controls("TextBox" & Format(i, "00")) = Cells(lig, k)
  Next i
  d = Cells(lig, 23) * 100: k = Val(d): If k > 0 Then TextBox17 = k & "%"
  TextBox18 = Cells(lig, 25)
  For i = 2 To 7
    k = i - 13 * (i > 2) - 3 * (i > 5) - (i = 7)
    Controls("ComboBox" & i) = Cells(lig, k)
  Next i
End Sub

Private Sub ComboBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
  If KeyAscii = 27 Then ClrUF
End Sub

Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  Dim cel As Range, chn$: chn = ComboBox1: If chn = "" Then Exit Sub
  Set cel = Columns(1).Find(chn, , -4163, 1, 1): If cel Is Nothing Then ClrUF
End Sub

Private Function GD(chn$) As Variant 'GetDate
  If Not IsDate(chn) Then GD = "" Else GD = CDate(chn)
End Function

Private Function GP(chn$) As Variant 'GetPourcentage
  If Not IsNumeric(chn) Then GP = "" _
    Else GP = Int(Val(Replace$(chn, ",", "."))) / 100
End Function

Private Sub WriteContact(lig&)
  With Cells(lig, 1)
    .Value = ComboBox1             'Customer ID
    .Offset(, 1) = ComboBox2       'Category
    .Offset(, 2) = TextBox01       'Company
    .Offset(, 3) = TextBox02       'First name/Prénom
    .Offset(, 4) = TextBox03       'Last name/Nom
    .Offset(, 5) = TextBox04       'Address
    .Offset(, 6) = TextBox05       'Zip
    .Offset(, 7) = TextBox06       'City
    .Offset(, 8) = TextBox07       'State
    .Offset(, 9) = TextBox08       'Country
    .Offset(, 10) = TextBox09      'Phone
    .Offset(, 11) = TextBox10      'Cell
    .Offset(, 12) = TextBox11      'Website
    .Offset(, 13) = TextBox12      'E-mail
    .Offset(, 14) = GD(TextBox13)  'Contact Date
    .Offset(, 15) = ComboBox3      'Origin
    .Offset(, 16) = ComboBox4      'Product category
    .Offset(, 17) = ComboBox5      'Action done
    .Offset(, 18) = GD(TextBox14)  'When done
    .Offset(, 19) = TextBox15      'Action to be done
    .Offset(, 20) = GD(TextBox16)  'No later than
    .Offset(, 21) = ComboBox6      'Type
    .Offset(, 22) = GP(TextBox17)  'Discount
    .Offset(, 23) = ComboBox7      'Vaigah/SFT
    .Offset(, 24) = TextBox18      'Comments
  End With
  Application.ScreenUpdating = -1
End Sub

Private Sub cmdNew_Click() 'bouton Nouveau contact
  If MsgBox("Confirmez-vous l'insertion de ce nouveau contact ?", vbYesNo, _
    "Demande de confirmation d'ajout") <> vbYes Then Exit Sub
  WriteContact Cells(Rows.Count, 1).End(3).Row + 1
End Sub

Private Sub cmdModif_Click() 'bouton Modifier
  If MsgBox("Confirmez-vous la modification de ce contact ?", vbYesNo, _
    "Demande de confirmation de modification") <> vbYes Then Exit Sub
  If ComboBox1.ListIndex <> -1 Then WriteContact ComboBox1.ListIndex + 5
End Sub

Private Sub cmdQuit_Click() 'bouton Quitter
  Unload Me
End Sub

Private Sub UserForm_Initialize() 'initialisation du formulaire
  Dim T, n&
  With ActiveSheet.ListObjects("Customers")
    If Not .DataBodyRange Is Nothing Then
      n = .ListRows.Count: T = [A5].Resize(n): ComboBox1.List = T 'Customer ID
    End If
  End With
  ComboBox2.List = Array("Customer", "Prospect") 'Category
  ComboBox3.List = Array("Google", "Website", "Advertising", "Friends", "Hacked") 'Origin
  ComboBox4.List = Array("Moringa", "Soaps", "Honey", "Areca", "Bamboo") 'Product category
  ComboBox5.List = Array("Quotation", "Samples", "Brochure", _
    "Informations requested", "Mail", "Letter", "Phone call") 'Action done
  ComboBox6.List = Array("Individual", "Profesional") 'Type
  ComboBox7.List = Array("VAIGAH", "SFT") 'Vaigah / SFT
End Sub


Module1 :
VB:
Sub lancerFormulaire()
  If ActiveSheet.Name = "Customer base" Then UserForm1.Show
End Sub

note que UserForm1 est affiché uniquement si la feuille active est "Customer base" ! c'est pour ça que je n'ai pas eu besoin d'utiliser ta variable Ws (que j'ai supprimée) : le code VBA de UserForm1 utilise les contrôles de ce formulaire et les cellules d'une feuille de calcul ; ces cellules étant sans référence de feuille explicite, c'est donc implicitement les cellules de la feuille active qui est : "Customer base".


Module de ThisWorkbook :
VB:
Option Explicit

Private Sub Workbook_BeforePrint(Cancel As Boolean)
  Dim C As Range, test As Boolean
  'écrire devant Cancel = True pour tester sans imprimer, à supprimer pour imprimer
  Set C = ['Quotation SF'!H1] 'nom de la feuille à adapter
  test = C Like "N ###/##/####" And Format(Month(Date), "00") = Mid$(C, 7, 2) And Year(Date) = Val(Mid$(C, 10, 4))
  C = IIf(test, "N " & Format(Val(Mid$(C, 3, 3)) + 1, "000") & Mid$(C, 6, 99), "N 001/" & Format(Date, "mm/yyyy") & "")
End Sub

j'ai fait des petites modifs minimes dans cette sub ; à toi de tester à partir de la feuille "Quotation SF" ; pour moi c'est ok : les valeurs en H1 sont correctes. 😊 (code initial de départ « N 001/05/2021 » ; puis tous les codes suivants : "N 002/05/2021", "N 003/05/2021", "N 004/05/2021", etc...) ; rappel : cette sub est appelée juste avant impression : fais Ctrl p ; vérifie le code affiché en H1 ; puis appuie sur la touche Echap (ou clic / bouton Annuler) pour annuler l'impression et éviter un gaspillage inutile de papier : c'est plus écologique, et ça préserve la Planète et l'Environnement ! 🥳


si besoin, tu peux demander une adaptation.
à te lire pour avoir ton avis. 😉

soan​
Bonjour Soan,
C'est un mystère, je me demande comment on peut arriver à régler ces problèmes là. En tout cas bravo.
En revanche comme je suis décidément nul avec ce vba j'arrive pas à réintégrer ton travail dans mon classeur complet. Alors je me décide à t'envoyer le fichier complet avec tous les onglets, c'est à dire mon travail final. Serais tu assez gentil pour y intégrer ton travail ?
Pour la petite histoire, Stella n'est ni ma femme ni ma secrétaire, c'est le nom du couvent où je vis avec des religieuses indiennes 😊.Je suis retraité et bénévole depuis trois ans dans une ONG en Inde et ce travail Excel c'est un outil pour une coopérative agricole (reclassement des familles touchées par le Tsunami)
Oui c'est bien chaud avec le covid même en rural maintenant. Et la vaccination n'avance pas vite. On doit faire face à la faim parce qu'on est confinés et beaucoup de gens s'ils ne sortent pas le matin pour aller travailler ils n'ont rien à manger le soir. Ce matin on est allé chercher 500 kg de riz à distribuer. on fait ce qu'on peut. Pour info si tu veux le site de l'ONG... je sais qu'il fait un peu ringard (c'est ce que me dit mon fils) mais je fais avec mes petites compétences !! www.smids.org
Voilà encore merci, fais attention à toi et pense à moi à la prochaine bière en terrasse !
PJ mon classeur complet (qui marche pas, j'ai pas intégré tes codes😕)
Bien cordialement
Jean
 

Pièces jointes

  • base-clients-facturation-macro.xlsm
    153.9 KB · Affichages: 10

Dudu2

XLDnaute Barbatruc
@soan
1622459720592.png


@Dranreb
1622459799071.png
 

Dranreb

XLDnaute Barbatruc
Oui, c'est normal, les ComboBox confiées à CLs ne proposent que ce qui existe dans la base, excepté les valeurs non compatibles avec ce qui a déjà été spécifié dans certaines. Autre chose à créer doit y être tapé.
Mais j'ai vu d'autres anomalies: les noms des contrôles ne se terminent pas toujours par le numéro de colonne dans la base. Le mieux seraient de leur donner un nom mnémonique commençant par CBx pour une ComboBox, TBx pour une TextBox, et d'aligner, au lieu de la boucle, les CLs.Add et CAs.Add. À ce compte là, il est possible de spécifier entre guillemets l'intitulé de la colonne en guise de spécification de colonne. Les ComboBox servant à localiser ultérieurement la ligne doivent être confiés à CLs, les autre contrôles à CAs, y compris les ComboBox ayant une liste fixe.
S'il fallait que certaine ComboBox faisant partie de celle à rechercher aient aussi une liste fixe, il faudrait un CommandButton supplémentaire pour proposer ces liste au lieu des liste dynamiques constituées automatiquement par l'objet ComboBoxLiées.
 
Dernière édition:

soan

XLDnaute Barbatruc
Inactif
Bonjour Dudu2,

j'avais vu dans le fichier de Dranreb ce que montre ton image ; dans le fichier initial du demandeur, il y a plusieurs Validations de données ; par exemple en B5, on peut voir qu'il y a 2 items dans la liste déroulante : « Customer » et « Prospect » ; aussi, je l'ai reproduit dans la ComboBox2 de UserForm1. :) (j'ai utilisé le même système de listes "préétablies" pour toutes les autres listes déroulantes, sauf pour Combobox1 qui est rempli à partir des données de la colonne A)

j'ai ajouté 2 ComboBox manquantes : « Origin » et « Type », qui correspondent aux 2 colonnes P et V ; ces 2 ComboBox ne sont pas dans les autres versions proposées ; j'ai fait beaucoup d'autres choses qui sont décrites dans mon long post #9.

dans le fichier de Dranreb, j'ai vu aussi qu'il y a 11 données fausses + des anomalies de boutons : 2 boutons "Quitter" à l'ouverture de UserForm1 ; puis 2 boutons "Modifier" quand on sélectionne "C21-01" dans ComboBox1 (la 1ère liste déroulante).​

Image 1.jpg


Image 2.jpg


@Dranreb : tu as peut-être travaillé trop vite ? d'où ces bugs... remarque, si Krosoft lui-même fait des bugs, pourquoi pas nous ? 🤪 serait-ce que toi aussi tu envisages de distribuer des mises à jour via ton propre site de téléchargement ? 😄

soan
 

Discussions similaires

Réponses
27
Affichages
1 K
Réponses
15
Affichages
1 K
Réponses
3
Affichages
571

Statistiques des forums

Discussions
314 716
Messages
2 112 153
Membres
111 445
dernier inscrit
elmansour81