Ecrire résultat d'un userform dans cellules

je souhaiterai que pour le résultat de mon userform2, noté dans "TextBox_Choix" après avoir utilisé le bouton "CommandButton1", soit copier, imbriquer ou dupliquer pour la cellule que j'active dans un code VBA de la feuille ("Fiche") où sont toutes les cellules que je souhaiterai activer.

J'active ma cellule comme ceci pour la cellule D14 (par exemple):

Private Sub Worksheet_BeforerightClick(ByVal Target As Range, Cancel As Boolean)

If Target.Address = "$D$14" Then
    UserForm2.Show
    Cancel = True
End If
End Sub

Mais le souci c'est que j'ai beaucoup de cellules à activer à part celle-la et donc beaucoup de résultat à dupliquer.

Voici en Pj un fichier test pour plus de facilité de compréhension.

Il y a beaucoup d'élément donc j'ai mis en rouge ce que je voulais dans la feuille "Fiche".

En clair, j'appuie sur un endroit de la cellule (bouton ou autre) --> Ouverture de l'UserForm2 --> Après avoir appuyer sur le bouton valider marque le résultat écris dans "TextBox_Choix" dans la cellule où j'ai appuyer préalablement.

Je connais pas cet formule, je débute sur VBA

Merci par avance

Cordialement.

52test.xlsm (382.44 Ko)

bonjour,

En partant de ton fichier, code à mettre concernant le CommandButton :

Private Sub CommandButton1_Click()

Range("D" & Range("D56").End(xlUp).Row + 1).Value = TextBox_Choix.Value

End Sub

Si j'ai bien compris, ca devrait te convenir !

A plus !

Merci pour ta réponse, elle fonctionne mais c'était pas exactement ce que je voulais.

Voici, ce que j'ai trouvé.

Dans userform2

Private Sub CommandButton1_Click()
UserForm2.Hide ' cache l'userform2
End Sub 

Dans la feuille "Fiche"

Private Sub Worksheet_BeforerightClick(ByVal Target As Range, Cancel As Boolean)

If Target.Address = "$D$14" Then
UserForm2.Show
    Cancel = True
    Target.Select
Target.Cells.Offset(0, 0) = UserForm2.TextBox_Choix.Value

Range("D14:D15").Select
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    Selection.Merge

End If

Ceci duplique le résultat et refusionne les cellules par la suite.

Mrci encore

Cordialement.

Rechercher des sujets similaires à "ecrire resultat userform"