[VBA] CommandBar("CELL") - Remplir ActiveCell - Est-ce possible?

Staple1600

XLDnaute Barbatruc
Bonjour à tous

Voilà le problème que je n'arrive pas à résoudre (D'ailleurs est-ce possible?)

EDITION: ajout fichier exemple: Ce lien n'existe plus

Avec ce code (dans une feuille)
Code:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim cbItems As Object: Dim j As Byte
Dim i As Byte: Dim x As Integer

tab_caption = Split("Champ1,Champ2,Champ3,Champ4,Champ5,Champ6", ",")
tab_nmacro = Split("macro1,macro2,macro3,macro4,macro5,macro6", ",")

For Each cbItems In Application.CommandBars("cell").Controls
cbItems.Delete
Next cbItems

With Application.CommandBars("Cell")
For i = 0 To 5
    x = i + 1
     With .Controls _
        .Add(Type:=msoControlEdit, before:=x, Temporary:=True)
        .Caption = tab_caption(i)
        .OnAction = ThisWorkbook.Name & "!" & tab_nmacro(i)
        .Width = 175
    End With
Next i
    With .Controls _
        .Add(msoControlButton)
        .BeginGroup = True
        .Caption = "          [VALIDER]"
        .OnAction = ThisWorkbook.Name & "!cmbVALIDER"
        .FaceId = 1025
        .Style = msoButtonIconAndCaption
        End With
End With
End Sub
et dans un module

Code:
Sub macro1()
MsgBox Application.CommandBars.ActionControl.Caption
End Sub
Sub macro2()
MsgBox Application.CommandBars.ActionControl.Caption
End Sub
Sub macro3()
MsgBox Application.CommandBars.ActionControl.Caption
End Sub
Sub macro4()
MsgBox Application.CommandBars.ActionControl.Caption
End Sub
Sub macro5()
MsgBox Application.CommandBars.ActionControl.Caption
End Sub
Sub macro6()
MsgBox Application.CommandBars.ActionControl.Caption
End Sub
Sub cmbVALIDER()
MsgBox Application.CommandBars.ActionControl.Caption
End Sub
Code:
Sub Pour_reinitialiseMENUCONTEXTUEL()
Application.CommandBars("Cell").Reset
End Sub
A ce stade le code fonctionne:
le menu contextuel est redefini et quand on clique la msgbox me renvoie bien la Caption

• Mais comment récupérer la saisie de l'utilisateur dans le TextBox
(msoControlEdit) pour l'inscrire dans ActiveCell ainsi que les autres TextBox ?
(avec ActiveCell.Offset(n,n) ect... ) quand on clique sur VALIDER ?

J'ai cherché sur le forum, sur le net, et je finis pas croire que c'est impossible

Et vous? Avez-vous une solution?

Merci à ceux qui s'intéresseront à la question.

Bonne journée à tous.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : [VBA] CommandBar("CELL") - Remplir ActiveCell - Est-ce possible?

Bonsoir


Une petit up

avant d'aller faire chauffer la soupe et préparer la salade ;)


Bonne soirée à tous, en espérant que l'un d'entre vous s'intéressera à ce post.
 

bqtr

XLDnaute Accro
Re : [VBA] CommandBar("CELL") - Remplir ActiveCell - Est-ce possible?

Bonsoir Staple,

Si j'ai bien compris avec ceci ça fonctionne:

Le code du bouton Valider de la BO

Code:
Sub cmbVALIDER()
Dim i As Byte
ActiveCell = Application.CommandBars("Cell").Controls(1).Text
For i = 2 To 6
  ActiveCell.Offset(i - 1, 0) = Application.CommandBars("Cell").Controls(i).Text
Next
End Sub
A+
 

Staple1600

XLDnaute Barbatruc
Re : [VBA] CommandBar("CELL") - Remplir ActiveCell - Est-ce possible?

Bonsoir bqtr

bqtr:Sur mon poste (XL2000), ton code ne fonctionne pas, il ne se passe rien.
EDITION : (ou plutôt je dois mal m'y prendre ;) )

Mais tu m'as mis sur la piste (un grand merci)
Ce code ci-dessous fonctionne
Code:
Sub macro1()
ActiveCell = Application.CommandBars.ActionControl.Text
End Sub
Petit rappel pour tous
Le but rechercher, lors du clic droit, le menu contextuel ci-dessous apparait

ad.jpg

J'essaye que l'on puisse saisir des valeurs des les "TextBox" : (Controles msControlEdit)
et enfin que lorsque que l'on clique , les valeurs saisies se répercutent comme suit:
Champ1 -> activecell.value
Champ n -> activecell.offset(n,0).value

Plus je cherche , plus je crois que c'est impossible non ?
 
Dernière édition:

bqtr

XLDnaute Accro
Re : [VBA] CommandBar("CELL") - Remplir ActiveCell - Est-ce possible?

Re,

Avec Excel 2003 cela fonctionne, j'ai bien les six valeurs saisies dans les textbox dans les cellules en partant de la cellule active et descendant vers le bas.

Edit : pour saisir les valeurs dans les textbox, j'utilise la touche TAB pour passer au textbox suivant
 
Dernière édition:

Cousinhub

XLDnaute Barbatruc
Re : [VBA] CommandBar("CELL") - Remplir ActiveCell - Est-ce possible?

Bonsoir staple

A priori, pour que la valeur de ta textbox soit maintenue, il faut provoquer l'évènement Change, et pour cela, appuyer sur Entrée....
Donc, avec le code fourni par bqtr, et en validant chaque entrée dans tes Tb du menu contextuel, pour conserver la valeur, il faut appuyer sur Entrée, puis de nouveau clic droit........
Le jeu en vaut-il la chandelle? :rolleyes:
Bonne soirée ;)
 

Staple1600

XLDnaute Barbatruc
Re : [VBA] CommandBar("CELL") - Remplir ActiveCell - Est-ce possible?

Re

EDITION: bqtr , il a fallu que je lise ta première réponse , pour que je pense
à appuyer sur la touche TAB



EDITION: bonsoir bhbh

Je viens de trouver comment faire !!!! (C'est pourtant simple)

• 1) Clic-droit sur une cellule

• 2) Saisie dans les TextBox

ET VALIDATION non pas par la touche[ENTREE]

mais en tabulant.

Merci bqtr pour ton aide.

PS: Vous allez me dire pourquoi ne pas saisir directement dans les cellules
et valider la saisie par ENTREE?

Oui , vous avez raison (lol) :p


PS2: A l'origine , je me suis lancé dans cette histoire pour répondre à ce post:
(et pour éviter de passer par un userform)
https://www.excel-downloads.com/threads/creer-un-popup-dentree-de-donnee-sur-une-cellule.94314/
 
Dernière édition:

bqtr

XLDnaute Accro
Re : [VBA] CommandBar("CELL") - Remplir ActiveCell - Est-ce possible?

Re,
bonsoir bhbh

Il faut aussi utiliser la touche TAB pour passer du dernier Textbox au bouton valider sinon la valeur du dernier TB n'est pas prise en compte.

A+
 

Staple1600

XLDnaute Barbatruc
Re : [VBA] CommandBar("CELL") - Remplir ActiveCell - Est-ce possible?

Re



bqtr: En tout cas , merci de ton intervention, car je tournais en rond

Je suis même aller voir sur un forum allemand (lol).

Alors que c'était si simple :eek:

bhbh: le jeu en valait la chandelle (rien que pour le plaisir de satisfaire ma curiosité vbaistique ) ;)

Mais effectivement l'utilité pratique de la chose est ...
 
Dernière édition:

Cousinhub

XLDnaute Barbatruc
Re : [VBA] CommandBar("CELL") - Remplir ActiveCell - Est-ce possible?

Re-,
merci bqtr, je n'avais pas essayé avec Tab, je pensais qu'il fallait valider avec Entrée.....
M'enfin, cela fonctionne, et c'est le principal pour Staple
Bonne nuit.....
 

Discussions similaires

Réponses
8
Affichages
665