XL 2010 Besoin d'aide sur utilisation du VBA

Morgane60

XLDnaute Nouveau
Bonjour à tous
c'est la première fois que je découvre le (ou la?!) VBA.
Dans le cadre professionnel, je souhaite réaliser un nouveau formulaire de mise en place de promotions. Pour cela, j'ai souhaité réalisé une boite de dialogue, où je puisse sélectionner les catégories qui seront impactés par cette promotion. Jusque là, en fouillant les tutos les forums etc.. j'ai réussi à créer ma boite de dialogue UserForm, mais uniquement physiquement. Impossible après d'en faire quelque chose ..
upload_2017-6-1_15-19-15.png

upload_2017-6-1_15-19-31.png

J'aimerais que cette boite de dialogue s'ouvre et inscrive les données dans une case précise.

upload_2017-6-1_15-19-50.png

Pourriez vous m'aider svp ? sachant que je ne maitrise absolument pas les termes techniques :(
Vous trouverez en pièce jointe quelques visuels qui pourront vous guider dans vos réponses.
Merci beaucoup pour votre aide,
Cordialement

Morgane
 

Pièces jointes

  • Fichier Promovente.xlsm
    92.1 KB · Affichages: 57

vgendron

XLDnaute Barbatruc
bonjour et bienvenue

Pour commencer, on va avoir besoin de quelques infos..
le USF.. tu souhaites qu'il s'ouvre dès l'ouverture du fichier? ou en appuyant sur un bouton?

une fois qu'il est ouvert
tu sélectionnes une ou plusieurs catégories
puis tu cliques sur valider

et la.. on fait quoi? quelles info doivent etre récupérées ou ca, et pour etre mises ou?
 

Morgane60

XLDnaute Nouveau
Bonjour,

merci :)

Alors j'aimerais qu'il s'ouvre au moment où je clique sur un bouton que j'insérerais à côté de la cellule jaune.
Une fois que l'on clique sur 'Valider', j'ai juste besoin que les informations (les noms des catégories) s'affichent dans la cellule. C'est tout. Rien de plus.

Merci d'avance pour votre aide.

Morgane
 

Morgane60

XLDnaute Nouveau
Pardon, je n'avais pas vu votre deuxième message avant d'inscrire celui du dessus.

Alors tout d'abord un grand merci, car c'est exactement ce que je souhaitais !
Pourriez vous m'expliquer un peu ceque vous avez inscrit ? Qu'entendez vous par il va falloir revoir cette ligne pour que le E37 ... " ?

De plus, est-ce que nous pouvons remplacer le ' - ' par un ' ; ' car informatiquement le ' - ' ne passe pas dans nos systèmes. Est-ce à cet endroit que je dois le changer ?
For i = 1 To 13 'il y a 13 CheckBox sur le Useform1
If .Controls("CB" & i) Then
x = x & " - " & .Controls("CB" & i).Caption

Un grand merci !!
 

vgendron

XLDnaute Barbatruc
Hehé :)
l'explication du :"" il va falloir revoir cette ligne pour que le E37 ... " tiens exactemeent dans votre question:
"Et j'aimerais pouvoir refaire la même chose sur les pavés 'Si le produit 2' et 'Si le produit 3'"

pour le "-" à remplacer par ";"
vous avez tout à fait vu ou ca se trouvait

je regarde pour les produits 2 et 3 et je reviens
 

Morgane60

XLDnaute Nouveau
J'ai essayé un peu en faisant copier coller du 1er, en recréeant un UserForum2 et un deuxième module mais ca ne marche pas et ca a fait buggé le 1 .. c'est un peu compliqué lol
J'ai bien modifié le - par ; par contre :) (fière de moi!)

Merci bcp
 

vgendron

XLDnaute Barbatruc
le même code avec quelques commentaires en plus pour expliquer
VB:
Private Sub CBValider_Click()
    Dim x As String, i&
    x = ""
    With UserForm1
        For i = 1 To 13 'il y a 13 CheckBox sur le Useform1
            If .Controls("CB" & i) Then 'si le control CBi est VRAI (= coché)
                x = x & " ; " & .Controls("CB" & i).Caption 'alors on ajoute le texte dans la chaine x
            End If
        Next i
        If x <> "" Then x = Right(x, Len(x) - 3) 'si x n'est pas vide (=rien de coché), on enlève le 1er ";"
    End With
   
    Select Case Parent.Caller 'selon le bouton "Lancer" qui a été cliqué - on choisit la cellule destination
        Case "BTLancer1"
            Sheets("Feuil1").Range("E37") = x
        Case "BTLancer2"
            Sheets("Feuil1").Range("E42") = x
        Case "BTLancer3"
            Sheets("Feuil1").Range("E47") = x
    End Select
       
End Sub
 

vgendron

XLDnaute Barbatruc
C'est le nom que j'ai donné aux CheckBox
clic sur chacun d'eux, et dans la fenetre propriété (en bas à gauche), leur nom apparait

Tout comme j'ai nommé les boutons LANCER
par défaut, Excel les appelle Bouton 1 Bouton 2...
 

Discussions similaires

Statistiques des forums

Discussions
312 176
Messages
2 085 967
Membres
103 069
dernier inscrit
jujulop