IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Crée liaison avec un formulaire de Recherche et un formulaire d'envoi d'email. [XL-2007]


Sujet :

Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 29
    Points : 24
    Points
    24
    Par défaut Crée liaison avec un formulaire de Recherche et un formulaire d'envoi d'email.
    Bonjour,
    J'ai 2 formulaire sur un fichier excel :
    Un formulaire de recherche qui ce base sur la serie video ''gestionnaire de location'' de la chaine youtube de ''Tutoderien'' :

    voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Option Explicit
     
    Private Sub effacer_Click()
     
        ListBox1 = ""
        Unload Me
        Recherche.Show
     
    End Sub
     
    Private Sub fermer_Click()
     
        Unload Me
     
    End Sub
     
    Private Sub ListBox1_Click()
     
    End Sub
     
    Private Sub source_Click()
     
        Sheets("source").Activate
        Range("A1").Select
     
    End Sub
     
    Private Sub txt_recherche_Change()
    On Error Resume Next
     
    Sheets("source").Range("S2") = "*" & Me.txt_recherche
     
    Sheets("source").Range("tableaurecherche").AdvancedFilter Action:=xlFilterCopy, criteriarange _
        :=Sheets("source").Range("S1:S2"), copytorange:=Sheets("source").Range("U1:AJ1"), unique:=False
     
    Me.ListBox1.RowSource = "recherche_societe"
     
    End Sub
     
    Private Sub UserForm_Click()
     
    End Sub
    et un formulaire d'envoi email base sur cette video :

    voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    Private Sub CommandButton1_Click()
    If TextBox2.Text = "" Then
        MsgBox "Email invalide ou vide", vbAbortRetryIgnore, "Ajouter l'email svp"
        Exit Sub
    End If
     
    Dim outlookapp As Object
    Dim mitem As MailItem
    Set outlookapp = CreateObject("outlook.application")
    Set outlookapp = New outlook.Application
    Set mitem = outlookapp.CreateItem(olMailItem)
    On Error Resume Next
        With mitem
            .To = Me.TextBox2.Value
            .Subject = Me.TextBox3.Value
            .Body = Me.ComboBox1.Value & vbCrLf & Me.TextBox4.Value
            .Send
        End With
    Call CommandButton2_Click
     
     
    End Sub
     
    Private Sub CommandButton2_Click()
    With Me
        .TextBox1.Text = ""
        .TextBox2.Text = ""
        .TextBox3.Text = ""
        .TextBox4.Text = ""
    End With
    Call UserForm_Initialize
     
    End Sub
     
    Private Sub Image1_Click()
     
    End Sub
     
    Private Sub Label1_Click()
     
    End Sub
     
    Private Sub Label2_Click()
     
    End Sub
     
    Private Sub Label3_Click()
     
    End Sub
     
    Private Sub TextBox1_Change()
    Me.ComboBox1.Clear
    rec = Me.TextBox1.Text
     
    With Me.ComboBox1
        .AddItem "Bonjour" & rec
        .AddItem "Cher Monsieur"
        .AddItem "Cher Madame"
        .AddItem "Salutations" & rec
    End With
    End Sub
     
    Private Sub TextBox4_Change()
     
    End Sub
     
    Private Sub UserForm_Initialize()
    Me.ComboBox1.Clear
    rec = Me.TextBox1.Text
     
    With Me.ComboBox1
        .AddItem "Bonjour" & rec
        .AddItem "Cher Monsieur"
        .AddItem "Cher Madame"
        .AddItem "Salutations" & rec
    End With
     
    End Sub
    Ma question est comment faire le lien entre ces 2 formulaire en sorte que quand je double click sur un resultat du formulaire de recherche,celui ci envoie directement les donnees de 2 cellules vers le formulaire de mailing,j'ai essaye de schématisé :Nom : s.png
Affichages : 146
Taille : 20,3 Ko

    J'ai fait des recherche et je sais que il faut faire "listbox1.selected" et j'ai aussi trouve ce lien :
    https://docs.microsoft.com/en-us/off...stbox.selected

    Mais le problème c'est que je suis vraiment un débutant et je ne serais comment faire pour adapter le code vba pour obtenir le résultat souhaite,c'est pour cette raisons que j'ai crée cette nouvelle discussion afin que une bonne âme puisse me montrer comment faire.

    Merci !tableaubordcopieform.xlsm

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 29
    Points : 24
    Points
    24
    Par défaut
    Update :
    dans mes recherches j'ai aussi trouve ce lien qui me semble important :
    https://support.microsoft.com/fr-ma/...istbox-control

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 29
    Points : 24
    Points
    24
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Public Sub CopySelected(ByRef recherche As Form)
     
     Dim ctlSource As Control
     Dim ctlDest As Control
     Dim strItems As String
     Dim intCurrentRow As Integer
     
     Set ctlSource = Me!ListBox1
     Set ctlDest = Email!TextBox1
     
     For intCurrentRow = 0 To ctlSource.ListCount - 1
     If ctlSource.Selected(intCurrentRow) Then
     strItems = strItems & ctlSource.Column(0, _
     intCurrentRow) & ";"
     End If
     Next intCurrentRow
     
     ' Reset destination control's RowSource property.
     ctlDest.RowSource = ""
     ctlDest.RowSource = strItems
     
     Set ctlSource = Nothing
     Set ctlDest = Nothing
     
    End Sub
    j'ai essaye ce code mais ca ne marche pas,ca me donne type defini par l'utilisateur indefini.

  4. #4
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 183
    Points : 5 515
    Points
    5 515
    Par défaut
    Bonjour,

    Voici une façon de faire.

    1) ajouter des variables publiques dans un module, par exemple le module1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Public sSoc As String
    Public sMail As String
    2) ajouter ce code dans le formulaire Recherche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
        sSoc = Me.ListBox1.Column(0)
        sMail = Me.ListBox1.Column(1)
        Email.Show
    End Sub
    3) modifier le code d'initialisation du formulaire Email:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub UserForm_Initialize()
        Me.TextBox1 = sSoc
        Me.TextBox2 = sMail
        ...
    End Sub
    Bonne continuation.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 29
    Points : 24
    Points
    24
    Par défaut
    Je ne remercierai jamais assez votre aide !
    grand grand merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.x] afficher un formulaire d'envoi d'email impossible
    Par laurentche dans le forum Symfony
    Réponses: 7
    Dernier message: 14/07/2015, 01h03
  2. [AC-2010] Porblème de liaison avec un Formulaire de navigation
    Par Gregk84 dans le forum IHM
    Réponses: 12
    Dernier message: 14/11/2012, 18h33
  3. [2.x] PB validation formulaire d'envoie d'email
    Par dragorane dans le forum Symfony
    Réponses: 1
    Dernier message: 21/04/2012, 20h40
  4. formulaire d'envoi d'email
    Par single dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 09/11/2007, 09h51
  5. prob avec mon formulaire d'envoi de mail
    Par zorba49 dans le forum ASP
    Réponses: 12
    Dernier message: 06/02/2007, 11h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo