Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2277 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  alimenter une listbox

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

alimenter une listbox

n°2251741
atlantis89​0
Posté le 25-02-2015 à 21:21:47  profilanswer
 

bonjour
voici mon premier probleme
dans ma feuil1 j ais une listbox1 dans la feuil2 j ais une listbox2 que je voudrais alimenter par la colonne A de la feuil3
pour le deuxieme probleme  
j ais un userform avec 3 textbox et 6 checkbox
a l ouverture de userform il faut remplire les 3 textbox c est imperatif pour l enregistrement a la fin
don je voudrais que si ont a pas remplies les 3 textbox que l ont ne puisse pas clicker sur les checkbox
si ils sont remplies alors oui la ont peut clicker dessus
merci de votre reponse

mood
Publicité
Posté le 25-02-2015 à 21:21:47  profilanswer
 

n°2251743
Arl Guhr
Posté le 25-02-2015 à 21:36:00  profilanswer
 

Les listbox, ont une propriété Rowsource (si je me souviens bien) où tu peut indiquer une plage de donnée.
Pour ce genre de chose, je crée une plage nommée pointant au bon endroit et je met juste le nom de la plage dans le rowsource.
 
Pour le Deuxième souci:
Il faudra que tu gère l’événement "_Change" de chaque textbox, vérifier que le contenu des 3 textbox est différent de ta valeur par défaut (ou retenir celles qui ont été modifiées). Si les 3 textbox ont été modifiées, tu ajuste les propriétés locked et/ou enable en fonction de ce que tu veux vraiment.
Et du coup, il faut changer les propriété locked et enable par défaut de tes checkbox en mode design de ton formulaire ou dans l'evenement _Initialize()
En general, je crée une méthode avec les tests qui ajuste les propriété. Du coup, dans les _change, je fait juste appel à cette méthode.
 
 
Un truc dans le genre
 
Bon courage


Message édité par Arl Guhr le 25-02-2015 à 21:40:51

---------------
il s'appel le ronge me doute
n°2251808
atlantis89​0
Posté le 26-02-2015 à 16:13:05  profilanswer
 

bonjour  
merci de vos réponses :)  
pour la première
dans propriété pas de rowsource j ais excel 2007 c est peut être du a sa
j ais oublie de vous dire que je suis un débutant
pouvez vous me donner un code vba  
pour dire qu il faut aller dans la feuil3 Colonne A pour remplir la liste
pour ce qui est du deuxième problème
vous serait t'il possible de m'explique avec un code et les explication en vert

n°2251836
Arl Guhr
Posté le 27-02-2015 à 00:36:54  profilanswer
 

Pour la première partie, Je pense que j'ai mal lu ta demande.
Ce que tu entends par listbox, c'est une cellule avec une liste de choix? ou un élément de l'onglet developpeur que tu as dessiné sur la feuille?
 
Dans le premier cas c'est ce genre de tuto qu'il faut suivre (étape 3 )
http://www.commentcamarche.net/faq [...] ule-simple
 
Dans le second cas :
C'est ce genre de tuto qu'il faut suivre (partie Add a list box (Form control)):
https://support.office.com/en-sg/ar [...] e4f1d988b3
 
 
Pour le second point, dans ton formulaire en mode design, double click sur une textbox :
Excel va créer un sub pour toi de la forme :

Code :
  1. Private Sub TextBox1_Change()
  2. End Sub


Pour une textbox sur un formulaire, mon code ressemblerais à  :

Code :
  1. 'Pour bien apprendre
  2. Option explicit
  3. ' pour retenir ce qui as été changé
  4. Dim text1Changed as boolean
  5. Private Sub TextBox1_Change()
  6.     'pour indiquer que le contenu as changé
  7.     if TextBox1.value <> "" then
  8.         text1Changed = true
  9.     end if
  10.     'Pour changer les propriétés des checkbox
  11.     call update()
  12. End Sub
  13. ' methode perso pour gérer l'affichage
  14. function update() as boolean
  15.     'le résultat 'graphique' est différent, c'est à toi de voir...
  16.     checkbox1.enabled = not text1Changed
  17.     checkbox1.locked = text1Changed
  18.     update = text1Changed
  19. end sub
  20. 'methode derrière un bouton
  21. Private Sub Button1_Click()
  22.     'pour vérifier qu'on as bien fait un changement
  23.     if not update  then
  24.         msgbox "on n'enregistre pas, modifez la txtbox"
  25.         exit sub
  26.     end if
  27.    
  28.    ' ce que tu veux faire si tout est bon
  29.     msgbox "on enregistre"
  30. End Sub


Message édité par Arl Guhr le 27-02-2015 à 01:02:23

---------------
il s'appel le ronge me doute
n°2251899
atlantis89​0
Posté le 27-02-2015 à 17:53:22  profilanswer
 

bonjour
je vous remercie encore de votre aide pour mon premier probleme
j ais fini par trouver et cela marche
 
pour mon deuxiem probleme  
je vais etudier votre code
et ensuite essayer de l adapter pour mon probleme  
je vous tiendrait au courranr
merci :)

n°2251933
Arl Guhr
Posté le 27-02-2015 à 21:02:26  profilanswer
 

c'est l'esprit :jap:


---------------
il s'appel le ronge me doute
n°2251979
atlantis89​0
Posté le 28-02-2015 à 13:18:01  profilanswer
 

bonjour
je ne comprend pas ou mettre se partie de code  
' methode perso pour gérer l'affichage
function update() as boolean
    'le résultat 'graphique' est différent, c'est à toi de voir...
    checkbox1.enabled = not text1Changed
    checkbox1.locked = text1Changed
    update = text1Changed
end sub
pouvez vous me l expliquer dans quelle partie le mettre et pourquoi
merci :??:

n°2251988
Arl Guhr
Posté le 28-02-2015 à 18:11:41  profilanswer
 

Cette méthode se met dans le même module que les autres.
 
En gros, au lieu d'écrire dans chaque _change le code pour changer l'apparence des combobox, je l'isole dans une methode que je peux appeler depuis les différents _Change


---------------
il s'appel le ronge me doute
n°2252057
atlantis89​0
Posté le 02-03-2015 à 08:59:34  profilanswer
 

bonjour :)  
je vous remercie de votre aide cela marche bien
bonne semaine

n°2252391
atlantis89​0
Posté le 05-03-2015 à 21:45:42  profilanswer
 

bonsoir
j ais encore un probleme
j ais 4 textbox dans une feuille excel
nome t1,t2,t3,t4
dans t1 je rentre un nombre avec une tolerence +- ex:32.00+-+0.05
si dans t4 je rentre un resultat superieur ou inferieur a t1 alors je veux que dans t3 une croix rouge
et si c 'est compri dans la tolerence alors dans t2 une croix noir  
pouvez vous m aider
merci :)

mood
Publicité
Posté le 05-03-2015 à 21:45:42  profilanswer
 

n°2252411
Arl Guhr
Posté le 06-03-2015 à 09:46:36  profilanswer
 

Bonjour,
 
Si ce n'est pas encore trop tard, je diviserais ton t1 en deux.
Une textbox pour la valeur et une autre pour la tolérance.
 
et il me semble que pour certaines tolérance en meca, ce n'est pas toujours +-. Des fois, on peut vouloir spécifier que c'est la valeur ou plus long.
 
Pour te donner une direction je reformulerai en:
quand la valeur dans t4 change :
Je verifies si la valeur en t4 est dans le range toléré précisé en t1 (ou t1 et t1bis).  
Si elle est dans le range, j'écrit une croix dans t2, je met la couleur du texte en noir en t2, je vide le contenu de t3 et change la couleur en t3.
Sinon, j'écrit une croix dans la cellule t3, je change la couleur du texte en rouge dans t3 et je vide le contenu de t2 et change la couleur en t2.
 
(et si tu n'as pas besoin de moments où la couleur de fond de t2 et t3 ne change, tu peux directement le faire en mode design)
 
bon courage :)


---------------
il s'appel le ronge me doute
n°2252512
atlantis89​0
Posté le 07-03-2015 à 16:46:06  profilanswer
 

bonjour
je viens de voir votre message
de mon cote j ais chercher j ais presque trouve  
mais le problème c est qu il faut que je Click sur une cellule a cote des textbox pour mettre la croix je v ais finir  par trouver  
je v ais aussi exploiter votre idée je vous tiendrais au courant :)  
merci encore

n°2252696
atlantis89​0
Posté le 09-03-2015 à 17:02:29  profilanswer
 

bonjour
voici mon code
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Valeur, Tolerance As Double
Dim montruc As String
 
On Error Resume Next
 
montruc = TextBox216.text
Valeur = Val(TextBox216.text)
montruc1 = Replace(montruc, "+", "/" )
montruc1 = Replace(montruc1, "-", "/" )
montruc1 = Replace(montruc1, "//", "/" )
pos = InStr(montruc1, "/" )
If pos = 0 Then
  Valmax = Valeur
  Valmin = Valeur
Else
  methode = Mid(montruc, pos)
  If methode Like "+#*" Then
     Valmax = Valeur + Val(Mid(methode, 2))
     Valmin = Valeur
  ElseIf methode Like "-#*" Then
     Valmax = Valeur
     Valmin = Valeur - Val(Mid(methode, 2))
  ElseIf methode Like "+-#*" Or methode Like "-+*" Then
     Valmax = Valeur + Val(Mid(methode, 3))
     Valmin = Valeur - Val(Mid(methode, 3))
  Else
    Valmax = Valeur
    Valmin = Valeur
  End If
End If
 
If (TextBox219.Activate) Then   'Valide qu'on est d en  Textbox219
 
     If TextBox219.value = "" Then
        TextBox222.value = ""
        TextBox222.Font.Color = 0
        TextBox224.value = ""
        TextBox224.Font.Color = 0
       ElseIf (TextBox.value > (Valmax)) Or (TextBox.value < (Valmin)) Then
         
       ' TextBox224.value = "X"
      ' TextBox224.ForeColor = 255 'code pour mettre en rouge la croix dans le textbox 224
       TextBox222.value = "X" 'code pour mettre en noir la croix dans le textbox 222
       TextBox222.ForeColor = 0
    If (TextBox.value < (Valmax)) Or (TextBox.value < (Valmin)) Then
        'sinon c'est à l'intérieur de l'intervale
     
         
       ' TextBox222.value = "X"
       ' TextBox222.ForeColor = 0
         
         TextBox224.value = "X"
       TextBox224.ForeColor = 225
    End If
End If
End If
End Sub
mais la que le nombre dans le textbox 219 soit compris dans la tolerence ou pas j ais toujours une croix noir et rouge ou qu 'une croix noir meme hors tolerenc ou une croix rouge meme dans la tolerence  
pouvez vous m aider  
merci :hello:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  alimenter une listbox

 

Sujets relatifs
[VBA Excel] listbox activex variable[Excel 2010] Formulaire de recherche multi-listbox
UserForm ListBox transfert and save dataLiens Hypertexte dans Listbox VBA
Séparer 4 colonnes dans une listbox VBA ExcelExcel : Alimenter une colonne en fonction de deux critères
[RESOLU] [VBA] Remplacement valeur via listboxQUELLES SÉLECTIONS DANS LISTBOX ?
[VB.NET] Double cliquer sur élément listbox [VB.NET][VB.NET] Problème affichage collections dans listbox [VB.NET]
Plus de sujets relatifs à : alimenter une listbox


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR