Bonjour
Je ne comprends pas trop se qu'il se passe et comment faire fonctionner mon problème
Voici mon programme :
etape 1 : je crée mon menu
fonction MenuOpition :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Dim newMenu As CommandBarPopup Set MonMenuBar = CommandBars.ActiveMenuBar Set newMenu = MonMenuBar.Controls.Add(Type:=msoControlPopup, Temporary:=True) newMenu.Caption = TitreMenu With newMenu Call MenuOption(newMenu, "Test", "MtestMouv") End With End Sub
fonction MTestMouv :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Sub MenuOption(p_MenuItem As Object, p_Libelle As String, Optional p_fonction As String, Optional p_parametres As String, Optional p_separateur As Boolean = False) Dim o_SubMenuItem As CommandBarButton Set o_SubMenuItem = p_MenuItem.Controls.Add(Type:=msoControlButton) With o_SubMenuItem .Caption = p_Libelle .BeginGroup = p_separateur .OnAction = p_fonction If p_parametres <> "" Then .Parameter = p_parametres End If End With End Sub
fonction TableauMouv
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Public Sub MTestMouv() tableauMouv End Sub
1) Si je clique sur mon menu sur "Test", ça lance la fonction MTestMouv qui lance la fonction tableauMouv et le resultat est que la cellule A1="Date", A2="DEBIT" et A3 = "CREDIT"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Public Function tableauMouv() As String ActiveSheet.Cells(1, 1).Value = "DATE" ActiveSheet.Cells(1, 2).Value = "DEBIT" ActiveSheet.Cells(1, 3).Value = "CREDIT" End Function
2) je selectionne une cellule et dans le fx je tape = tableauMouv(), j'obtien un #valeur dans ma cellule que j'ai séléctionné. et le code plante à la ligne rouge ci-dessus. Je pense que cela est du a .Value
je ne comprend pas trop le comportement et comment je peux résoudre le problème.
Pour le comportement :
pour le n°1 : je ne suis pas dans la cellule donc je peux affecter des cellules
pour le n°2 : je suis a l'intérieur d'une cellule et je peux juste affecté la cellule
cordialement law56100
Partager