Bonjour,
voici mes deux pbs :
1/ Je veux passer en paramètre un controle ainsi que sa feuille en paramètre
dans une procédure.
Ex :
MaVar = FrmMain.Combo1
Car je veux traiter ensuite cette variable comme cela : MaVar.value =
"truc1"
Je ne sais pas si je suis clair dans ce que je veux faire ?
Si vous avez une idée... je suis preneur !
Je pense que mon erreur se situe dans la facon d'écrire MaVar.value
2/ J'initialise ma FlaxGrid avec :
FrmMain.MSFlexGrid.Cols = 1
FrmMain.MSFlexGrid.Rows = 2 (b)
FrmMain.MSFlexGrid.FixedCols = 0
FrmMain.MSFlexGrid.FixedRows = 1 (a)
Pour avoir un tête de mes colonnes fixe. Mais ensuite j'ajoute mes données
avec un
FrmMain.MSFlexGrid.AddItem Bidule[i]
Mais il commence à remplir à la 3ème ligne et non à la seconde ?
Cela parait logique car le fait de mettre 1 (a) m'oblige à mettre un valeur
sépérieure à (b)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Zoury
Salut! :O)
1/ Je veux passer en paramètre un controle ainsi que sa feuille en
paramètre
dans une procédure.
Les contrôles peuvent passé en paramètre. Il suffit de déterminer le bon type de données : '*** Private Sub MaSub(ByRef txt As TextBox) End Sub '***
Tous les objets sont passé ByRef automatiquement (les contrôles sont des objets). Ce qui signifie que si modifie le controle dans la fonction, tu modifie aussi le controle qui à été passé à la fonction, car les 2 controles pointe vers le même objet en mémoire. : '*** Option Explicit
Private Sub Form_Load() Call MaSub(Me) ' modifie le Caption de Form1 End Sub
Private Sub MaSub(ByRef frm As Form) frm.Caption = "Test" End Sub '***
2/ J'initialise ma FlaxGrid avec : FrmMain.MSFlexGrid.Cols = 1 FrmMain.MSFlexGrid.Rows = 2 (b) FrmMain.MSFlexGrid.FixedCols = 0 FrmMain.MSFlexGrid.FixedRows = 1 (a) Mais il commence à remplir à la 3ème ligne et non à la seconde ?
L'index ne débute-t-il pas à 0? (je pense tout haut... :OP )
1/ Je veux passer en paramètre un controle ainsi que sa feuille en
paramètre
dans une procédure.
Les contrôles peuvent passé en paramètre. Il suffit de déterminer le bon
type de données :
'***
Private Sub MaSub(ByRef txt As TextBox)
End Sub
'***
Tous les objets sont passé ByRef automatiquement (les contrôles sont des
objets). Ce qui signifie que si modifie le controle dans la fonction, tu
modifie aussi le controle qui à été passé à la fonction, car les 2 controles
pointe vers le même objet en mémoire. :
'***
Option Explicit
Private Sub Form_Load()
Call MaSub(Me) ' modifie le Caption de Form1
End Sub
Private Sub MaSub(ByRef frm As Form)
frm.Caption = "Test"
End Sub
'***
2/ J'initialise ma FlaxGrid avec :
FrmMain.MSFlexGrid.Cols = 1
FrmMain.MSFlexGrid.Rows = 2 (b)
FrmMain.MSFlexGrid.FixedCols = 0
FrmMain.MSFlexGrid.FixedRows = 1 (a)
Mais il commence à remplir à la 3ème ligne et non à la seconde ?
L'index ne débute-t-il pas à 0? (je pense tout haut... :OP )
1/ Je veux passer en paramètre un controle ainsi que sa feuille en
paramètre
dans une procédure.
Les contrôles peuvent passé en paramètre. Il suffit de déterminer le bon type de données : '*** Private Sub MaSub(ByRef txt As TextBox) End Sub '***
Tous les objets sont passé ByRef automatiquement (les contrôles sont des objets). Ce qui signifie que si modifie le controle dans la fonction, tu modifie aussi le controle qui à été passé à la fonction, car les 2 controles pointe vers le même objet en mémoire. : '*** Option Explicit
Private Sub Form_Load() Call MaSub(Me) ' modifie le Caption de Form1 End Sub
Private Sub MaSub(ByRef frm As Form) frm.Caption = "Test" End Sub '***
2/ J'initialise ma FlaxGrid avec : FrmMain.MSFlexGrid.Cols = 1 FrmMain.MSFlexGrid.Rows = 2 (b) FrmMain.MSFlexGrid.FixedCols = 0 FrmMain.MSFlexGrid.FixedRows = 1 (a) Mais il commence à remplir à la 3ème ligne et non à la seconde ?
L'index ne débute-t-il pas à 0? (je pense tout haut... :OP )