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

Outlook Discussion :

Insérer un objet dans Outlook [OL-2016]


Sujet :

Outlook

  1. #1
    Candidat au Club
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Février 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Février 2020
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Insérer un objet dans Outlook
    Bonjour,

    Je souhaiterais que mes collaborateurs répondent à un formulaire que j'ai créé dans un UserForm sur Excel.
    J'avais ajouté du code pour que le fichier Excel me soit automatiquement envoyé en pièce jointe dans Outlook, une fois les éléments du formulaire récupérés dans des cellules Excel. Le problème c'est que mes collaborateurs n'ont pas tous activé Outlook dans les références et du coup mon code ne fonctionne pas, et ce n'est pas, à ma connaissance, quelque chose que je peut forcer avec une macro.

    Du coup, j'avais idée d'importer mon UserForm directement dans Outlook, mais là encore j'ai un problème puisque Outlook m'affiche une erreur me disant que je ne peux pas utiliser les macros (alors que dans les paramètres de sécurité, les macros sont bien autorisés)

    J'avais donc idée d'importer mon fichier Excel directement en insérant un objet, comme on peut le faire sur Word. Sauf qu'il n'y a que mon UserForm qui s'ouvre, après avoir répondu au questionnaire, puis que je le ferme, aucun élément n'est récupéré, mon fichier Excel ne s'affiche pas.

    Auriez-vous une solution qui permettrait donc d'avoir mon formulaire UserForm remplit par mes collaborateurs et dont je puisse récupérer les éléments par mail ?
    (Je tiens également à préciser que je suis HYPER débutante en codage : je suis autodidacte et je lis principalement les docs de Microsoft mais là je ne trouve pas ce que veux)

    Je vous remercie par avance pour votre aide.

    Bonne journée,

  2. #2
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Bonjour,
    il faudrait publier ton code

  3. #3
    Candidat au Club
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Février 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Février 2020
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Je vous remercie pour votre retour. J'ai fait un petit tour sur votre blog, qui a plein d'articles intéressants, mais je n'ai pas vu d'articles répondant à mon problème.

    Voici le code : Il est rattaché à mon UserForm. la première partie permet de remplir mes listes déroulantes et autre, la seconde partie permet de récupérer mes données dans des cellules de la feuille, la troisième partie demande à ce que le fichier soit enregistré sur le poste, puis appel OUtllok pour envoyer le classeur Excel en pièce jointe, et la quatrième partie demande de colorer un bouton quand on clique dessus.
    J'ai modifié dans le code l'adresse mail, car il s'agit de mon adresse pro.

    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
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    Private Sub UserForm_Initialize()
        ListBox1.ColumnHeads = True
        Dim i As Byte
    'Ajouter les prénom dans la liste de choix
            ListBox2.AddItem "Salarié 1"
            ListBox2.AddItem "Salarié 2"
            ListBox2.AddItem "Salarié 3"
            ListBox2.AddItem "Salarié 4"
            ListBox2.AddItem "Salarié 5"
    'Ajouter les jours de la semaine dans la liste de choix multi
             ListBox1.AddItem "Lundi"
             ListBox1.AddItem "Mardi"
             ListBox1.AddItem "Mercredi"
             ListBox1.AddItem "Jeudi"
             ListBox1.AddItem "Vendredi"
    'Ajouter les horaires dans la liste déroulante
            ComboBox1.AddItem "09h00 - 10h00"
            ComboBox1.AddItem "12h00 - 14h00"
            ComboBox1.AddItem "14h00 - 16h00"
    End Sub
     
    Private Sub CommandButton1_Click()
    'Récupérer le prénom
     Dim LigneDestination As Integer
     
        LigneDestination = 1
        For i = 0 To ListBox2.ListCount - 1
          If ListBox2.Selected(i) = True Then
             With Sheets("Feuil1")
                 .Cells(LigneDestination, 1) = ListBox1.List(i)
             End With
             LigneDestination = LigneDestination + 1
          End If
       Next i
    'Récupérer le bouton oui/non
        Range("A9") = ToggleButton1.Value
    'Récupérer les choix et les valeurs "autre"
        Range("A10") = CheckBox1.Value
        Range("A11") = CheckBox2.Value
        Range("A12") = CheckBox3.Value
        Range("A13") = CheckBox4.Value
        Range("A14") = CheckBox5.Value
        Range("A15") = TextBox4.Value
        Range("A16") = CheckBox6.Value
        Range("A17") = CheckBox7.Value
        Range("A18") = CheckBox8.Value
        Range("A19") = CheckBox9.Value
        Range("A20") = CheckBox10.Value
        Range("A21") = TextBox5.Value
        Range("A22") = CheckBox11.Value
        Range("A23") = TextBox5.Value
        Range("A24") = CheckBox12.Value
        Range("A25") = CheckBox13.Value
        Range("A26") = CheckBox14.Value
        Range("A27") = TextBox6.Value
    'Récupérer les jours
        Dim LigneDestination As Integer
     
        LigneDestination = 1
        For i = 0 To ListBox1.ListCount - 1
          If ListBox1.Selected(i) = True Then
             With Sheets("Feuil1")
                 .Cells(LigneDestination, 1) = ListBox1.List(i)
             End With
             LigneDestination = LigneDestination + 1
          End If
       Next i
     
    'Récupérer les heures
        Range("A28") = ComboBox1.Value
    'Sauvegarder et envoyer le document par mail
        Dim oA As Outlook.Application
        Dim oMI As Outlook.MailItem
        Dim oAtt As Outlook.Attachments
    'Sauvegarde du document
        ThisWorkbook.SaveAs "c:\temp\Formation.xlsm"
    'Affectation des variables
        Set oA = Outlook.Application
        Set oMI = oA.CreateItem(olMailItem)
        Set oAtt = oMI.Attachments
     
        oAtt.Add "c:\temp\Formation.xlsm"
    'Détail du message
        oMI.To = "MonMail@entreprise.fr"
        oMI.Subject = "Besoins de formation"
        oMI.Body = "Bonjour, Merci de trouver ci-joint mes besoins de formation. Cordialement, "
        oMI.Send
    'Libaration des objets
        Set oAtt = Nothing
        Set oMI = Nothing
    End Sub
     
    Private Sub ToggleButton1_Click()
        With ToggleButton1
            If .Value = True Then
                .BackColor = RGB(0, 255, 0) 'Vert
                .Caption = "Oui"
            ElseIf .Value = False Then
                .BackColor = RGB(255, 0, 0) 'Rouge
                .Caption = "Non"
            End If
        End With
    End Sub
    Je vous remercie,

    Cordialement,

  4. #4
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    re,
    pourquoi le sutilisateurs devraient activer les références OUTLOOK, s'ils utilisent ton modèle la référence est activée par defaut, le problème n'est il pas dans l'activation des macros à l'ouverture du fichier ?

  5. #5
    Candidat au Club
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Février 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Février 2020
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    J'ai fait des tests avec un collègue, il clique bien sur "Activer le contenu" à l'ouverture du fichier.

    J'ai contourné le problème en stockant mon fichier sur notre serveur. J'ai transformé mon classeur en modèle de classeur. De cette manières ils ouvrent un nouveau document, et l'envoie pas mail fonctionne.


    Je clôture donc le sujet.

    Merci pour vos retours,

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

Discussions similaires

  1. [ArrayList] Comment insérer des objet dans ArrayList
    Par jean1979 dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 13/10/2011, 11h42
  2. Insérer plusieurs PJ dans outlook sans savoir leurs directions
    Par sylvain5923 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/11/2010, 19h27
  3. Insérer un Objet dans un document Word
    Par benstile dans le forum VBScript
    Réponses: 5
    Dernier message: 14/09/2010, 12h52
  4. Insérer un objet dans un canvas : possible ?
    Par gedeon555 dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 04/06/2006, 14h42
  5. Insérer des images dans outlook
    Par bobic dans le forum ASP
    Réponses: 3
    Dernier message: 29/12/2005, 16h11

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