La non répétition d'un événement dans VB
Fermé
NagNag
-
31 oct. 2007 à 15:13
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 2 nov. 2007 à 13:30
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 2 nov. 2007 à 13:30
A voir également:
- La non répétition d'un événement dans VB
- Vb - Télécharger - Langages
- Vb cable - Télécharger - Audio & Musique
- Créer un événement facebook en brouillon - Forum Facebook
- La description de l’id d’événement 0 dans la source nvlddmkm est introuvable - Windows 11
- Évènement facebook disparu ✓ - Forum Facebook
16 réponses
PBGunner
Messages postés
64
Date d'inscription
mercredi 17 octobre 2007
Statut
Membre
Dernière intervention
29 juillet 2008
64
31 oct. 2007 à 15:47
31 oct. 2007 à 15:47
euh...j'ai pas tout compris...
Qu'appelle tu un élément?
Sur quel logiciel? Excel? Word? Access? autre?
Qu'appelle tu un élément?
Sur quel logiciel? Excel? Word? Access? autre?
PBGunner
Messages postés
64
Date d'inscription
mercredi 17 octobre 2007
Statut
Membre
Dernière intervention
29 juillet 2008
64
31 oct. 2007 à 17:02
31 oct. 2007 à 17:02
Si j'ai bien compris:
tu a un certain nombre d'objets que tu selectionne via un combobox,
tu lance une action sur l'objet selectionné dans le combobox, mais tu ne peux faire cette action qu' une seule fois...exacte?
Que se passe-t-il si tu selectionne un autre objet, que tu relance l'action: Peux tu revenir au premier objet et relancer l'action?
tu a un certain nombre d'objets que tu selectionne via un combobox,
tu lance une action sur l'objet selectionné dans le combobox, mais tu ne peux faire cette action qu' une seule fois...exacte?
Que se passe-t-il si tu selectionne un autre objet, que tu relance l'action: Peux tu revenir au premier objet et relancer l'action?
Non, le contraire est vraie, je veux sélectionner l'élément du combobox. Autrement, une fonction que l'exécution se fait qu'une seule fois.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
31 oct. 2007 à 17:25
31 oct. 2007 à 17:25
Salut Nagnag,
Pourquoi ne pas supprimer l'item de la combo une fois le code exécuté ?
Pourquoi ne pas supprimer l'item de la combo une fois le code exécuté ?
Tu LEADER du programmation POLUX31, mais où est-tu ? tu es mon sauveur ahhhhh!!!!!!!!!!!, mais tu restes trop pour me repondre en tout cas merci beaucoup.
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
31 oct. 2007 à 17:31
31 oct. 2007 à 17:31
de rien ;o)
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
31 oct. 2007 à 17:37
31 oct. 2007 à 17:37
lol l'expérience peut être ... pour l'intelligence je ne crois pas ... je galère aussi souvent ...
bon courage
;o)
polux
bon courage
;o)
polux
POLUX31,
Je veux remplir une Listview(LstA) de la form "A" dans une Listview (LstB) dans une autre form "B" j'ai essayé comme ça :
Dim i As Long
Load B
With B
For i = 1 To LstA.ListItems.Count
.LstB.AddItem LstA.ListItems(i).ListSubItems(i).Text
Next i
.Show
End With
NB: ca na pas marché
Je veux remplir une Listview(LstA) de la form "A" dans une Listview (LstB) dans une autre form "B" j'ai essayé comme ça :
Dim i As Long
Load B
With B
For i = 1 To LstA.ListItems.Count
.LstB.AddItem LstA.ListItems(i).ListSubItems(i).Text
Next i
.Show
End With
NB: ca na pas marché
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
31 oct. 2007 à 18:53
31 oct. 2007 à 18:53
arfff non ça ne peut pas marcher ...
Pour manipuler des données il est préférable de les stocker dans des variables ou dans des tableaux. Récupère d'abord les items de listB dans un tableau puis fait passer les données vers lstA ... c'est plus propre ...
;o)
n'hésite pas si tu as un blème.
Polux
Pour manipuler des données il est préférable de les stocker dans des variables ou dans des tableaux. Récupère d'abord les items de listB dans un tableau puis fait passer les données vers lstA ... c'est plus propre ...
;o)
n'hésite pas si tu as un blème.
Polux
Bonjour,
J'ai ce qui suit POLUX31:
Public Function ListvwRun(LSV1 As ListView, LSV2 As ListView)
Dim lg As Long
Dim x As Long
Dim lstitem As ListItem
x = LSV1.ListItems.Count
ReDim Tabl(x) As Long
For lg = 1 To x
With LSV1.ListItems
Set lstitem = LSV2.ListItems.add(, , CStr(.Item(lg).SubItems(1)))
If Not IsNull(.Item(lg).SubItems(1)) Then lstitem.SubItems(1) = _
CStr(.Item(lg))
End With
Next
End Function
NB : RESTE A TROUVER A RECUPERER L'INDEX ?
J'ai ce qui suit POLUX31:
Public Function ListvwRun(LSV1 As ListView, LSV2 As ListView)
Dim lg As Long
Dim x As Long
Dim lstitem As ListItem
x = LSV1.ListItems.Count
ReDim Tabl(x) As Long
For lg = 1 To x
With LSV1.ListItems
Set lstitem = LSV2.ListItems.add(, , CStr(.Item(lg).SubItems(1)))
If Not IsNull(.Item(lg).SubItems(1)) Then lstitem.SubItems(1) = _
CStr(.Item(lg))
End With
Next
End Function
NB : RESTE A TROUVER A RECUPERER L'INDEX ?
Bonjour, POLUX31
Comment peut-on divier une Liste (ListBox) en n colonnes à partir d'une base de donnée, puis renvoyer chaque colonne dans Labels, Merci de m'aider.
Comment peut-on divier une Liste (ListBox) en n colonnes à partir d'une base de donnée, puis renvoyer chaque colonne dans Labels, Merci de m'aider.
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
2 nov. 2007 à 12:16
2 nov. 2007 à 12:16
Bonjour Nagnag
Peux-tu m'expliquer pourquoi tu veux renvoyer chaque colonne de la listbox dans un Label ?? C'est possible de faire des colonnes dans un listBox, mais il existe un composant qui fait très bien ça c'est le MSFlexGrid ou le DataGrid. Pour avoir plus d'info sur ces 2 composants, fait un tour sur le site http://www.developpez.com, et consulte la FAQ sur VB6.
Je crois que la collection Microsoft Forms 2.0, gère les colonnes dans les listBox ... sinon il faut utiliser une API (librairie intégrée à Windows) ... ensuite on peut effectivement renvoyer chaque colonne dans un label... moyennant quelques lignes de code qui vont bien ...
;o)
Polux
Peux-tu m'expliquer pourquoi tu veux renvoyer chaque colonne de la listbox dans un Label ?? C'est possible de faire des colonnes dans un listBox, mais il existe un composant qui fait très bien ça c'est le MSFlexGrid ou le DataGrid. Pour avoir plus d'info sur ces 2 composants, fait un tour sur le site http://www.developpez.com, et consulte la FAQ sur VB6.
Je crois que la collection Microsoft Forms 2.0, gère les colonnes dans les listBox ... sinon il faut utiliser une API (librairie intégrée à Windows) ... ensuite on peut effectivement renvoyer chaque colonne dans un label... moyennant quelques lignes de code qui vont bien ...
;o)
Polux
Nagnag
Messages postés
3
Date d'inscription
vendredi 2 novembre 2007
Statut
Membre
Dernière intervention
2 novembre 2007
2 nov. 2007 à 12:48
2 nov. 2007 à 12:48
C'est simple d'utiliser Datagrid,MSHFlexGrid,Datarepeater.... mais je veux dans la listbox, OK POLUX31
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
2 nov. 2007 à 13:30
2 nov. 2007 à 13:30
voilà ce que j'ai trouvé (http://www.developpez.com) ... à toi d'adapter, mais je ne l'ai jamais utilisé:
Les items doivent être inserés dans la liste séparés par des tabulations, par exemple:
List1.Additem "champ1" & vbTab & "champ2" & vbTab & "champ3"
Si la police est à chasse fixe (Courrier, par exemple), les colonnes sont alors correctement alignées, mais si la police est à chasse variable (ce qui est le cas la plupart du temps), il faut utiliser les API de Windows pour faire un alignement correct, comme suit:
Placez ce code dans un module:
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long
Public Const LB_SETTABSTOPS = &H192
Utilisez ensuite le code suivant pour produire une liste avec des champs alignés proprement:
Private Sub Form_Load()
'ce tableau va contenir les positions des tabulations (ce qui equivaut
'à la largeur des colonnes
ReDim tabstop(0 To 2) As Long
'on positionne les tabulations
tabstop(0) = 90
tabstop(1) = 130
tabstop(2) = 185
'on efface puis on réinitialise les tabulations
Call SendMessage(List1.hwnd, LB_SETTABSTOPS, 0&, ByVal 0&)
Call SendMessage(List1.hwnd, LB_SETTABSTOPS, 3, tabstop(0))
List1.Refresh
End Sub
Les items doivent être inserés dans la liste séparés par des tabulations, par exemple:
List1.Additem "champ1" & vbTab & "champ2" & vbTab & "champ3"
Si la police est à chasse fixe (Courrier, par exemple), les colonnes sont alors correctement alignées, mais si la police est à chasse variable (ce qui est le cas la plupart du temps), il faut utiliser les API de Windows pour faire un alignement correct, comme suit:
Placez ce code dans un module:
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long
Public Const LB_SETTABSTOPS = &H192
Utilisez ensuite le code suivant pour produire une liste avec des champs alignés proprement:
Private Sub Form_Load()
'ce tableau va contenir les positions des tabulations (ce qui equivaut
'à la largeur des colonnes
ReDim tabstop(0 To 2) As Long
'on positionne les tabulations
tabstop(0) = 90
tabstop(1) = 130
tabstop(2) = 185
'on efface puis on réinitialise les tabulations
Call SendMessage(List1.hwnd, LB_SETTABSTOPS, 0&, ByVal 0&)
Call SendMessage(List1.hwnd, LB_SETTABSTOPS, 3, tabstop(0))
List1.Refresh
End Sub