XL 2010 Ecrire résultat d'un userform dans cellules

flstyle

XLDnaute Nouveau
Bonjour ,


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:

Code:
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".


Vous seriez super si vous pourriez aider un amateur en VBA

Cordialement.
 

Pièces jointes

  • test.xlsm
    382.4 KB · Affichages: 54

flstyle

XLDnaute Nouveau
Oui tu as raison mais je peux toujours crée un bouton ou dé-fusionner les cellules.
Le problème viens de la façon de faire que je ne trouve pas.
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 pour ta rapidité Gonz13 ^^
 

gonz19

XLDnaute Occasionnel
dans userform2 tu rajoute ca
Code:
Private Sub CommandButton1_Click()
UserForm2.Hide ' cache l'userform2
End Sub

Dans ta feuille 4 voici le code modifé
Code:
Private Sub Worksheet_BeforerightClick(ByVal Target As Range, Cancel As Boolean)

If Target.Column = 1 Then
UserForm2.Show
    'Cancel = True
    Target.Select
Target.Cells.Offset(0, 3) = UserForm2.TextBox_Choix.Value
Unload UserForm2 ' ferme l'userform2
End If

End Sub
 
Dernière édition:

flstyle

XLDnaute Nouveau
super ca marche nikel !! tu es au top .
Pour info j'ai du dédoublé la cellule D puis la refusionner pour l'esthétisme.

Code:
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

Merci encore ;)
 

Discussions similaires

Statistiques des forums

Discussions
315 087
Messages
2 116 086
Membres
112 656
dernier inscrit
VNVT