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

VBA Outlook Discussion :

Insertion de texte dans un événement/rdv du calendrier à partir d'une liste


Sujet :

VBA Outlook

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Insertion de texte dans un événement/rdv du calendrier à partir d'une liste
    Bonjour à tous,

    j'ai regardé le forum et essayé de trouver une réponse dans un post existant ou dans la FAQ, mais je n'ai rien trouvé, alors je me permets de poser la question ici.

    Je cherche à créer une macro qui permet d'insérer un texte dans la partie description d'un événement ou rendez-vous sur le calendrier en le choisissant dans une liste préenregistrée.

    Le but de la manoeuvre, c'est que je puisse créer une macro donnant la possibilité aux agents de ma boite d'insérer facilement le code analytique de l'action ou du projet qu'il réalise sur tel ou tel événement ou rdv, à partir de cette fameuse liste. J'ai un autre logiciel qui permet, par synchronisation avec outlook et reconnaissance du code analytique dans le corps de l’événement, de comptabiliser leurs temps en analytique. Tout cela permet qu'ils "taggent" leurs projets et qu'on comptabilise mieux leurs temps de travail pour le mettre en valeur.

    Avez vous des suggestions de macro ou par ou commencer, ou bien même peut être un petit add-in que vous connaîtriez qui joue ce rôle ?

    Je vous remercie

  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,
    A quel moment ? lors de la saisie ou modification d'un rdv ? ou en lot ?

    quelle est la source de cette liste (excel, csv ... ?)

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Oliv- Voir le message
    Bonjour,
    A quel moment ? lors de la saisie ou modification d'un rdv ? ou en lot ?

    quelle est la source de cette liste (excel, csv ... ?)
    C'est au moment de la saisie du rdv, et la source de cette liste peut être indifféremment en excel ou csv. Concrètement aujourd'hui elle est en excel, mais je peux la convertir demain en CSV si nécessaire.

  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
    Bonjour,
    Voici un exemple,

    il te faut un USERFORM avec soit un ListView, Listbox ou Combobox
    et un bouton nommé OK


    dans le code de cet userform

    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
     
    Option Base 1
    'Option Explicit
    Option Compare Text
     
    Dim nbcol
     
    Private Sub Annuler_Click()
        Unload Me
    End Sub
     
    Private Sub OK_Click()
        Dim i
        MsgBox "ListView1=" & ListView1.ListItems.Item(ListView1.SelectedItem.Index) _
             & vbCr & "ComboBox1=" & ComboBox1 _
             & vbCr & "ListBox1=" & ListBox1
     
     
        ChoixProjet = "[" & Me.ListView1.ListItems.Item(ListView1.SelectedItem.Index) & "-" & Me.ListView1.ListItems.Item(ListView1.SelectedItem.Index).ListSubItems(1) & "]"
        Unload Me
    End Sub
     
     
    Private Sub UserForm_Initialize()
        Dim TailleColonnes()
        TailleColonnes = Array(23, 180)
        Dim B, i, x, retour, temp
     
        ChoixProjet = ""
        ChoixProjetCategorie = ""
        On Error Resume Next
        nbcol = UBound(MesProjets, 2)
        If Err Then
            Call GetProjects
            nbcol = UBound(MesProjets, 2)
            Err.Clear
        End If
        i = 1
        x = 15
        On Error GoTo 0
        '#############################ListView1#######################################
        ListView1.ColumnHeaders.Clear    'Supprime les anciens entêtes
     
        For i = 1 To nbcol
            'Définit les entêtes de colonnes
            With ListView1
                With .ColumnHeaders
                    'Ajout des colonnes
                    .Add , , MesProjets(1, i), TailleColonnes(i), lvwColumnLeft
                End With
     
                .View = lvwReport    'affichage en mode Rapport
                .Gridlines = True    'affichage d'un quadrillage
                .FullRowSelect = True    'Sélection des lignes comlètes
            End With
        Next i
     
        For i = 2 To UBound(MesProjets, 1)
            With ListView1
                .ListItems.Add , , MesProjets(i, 1)
                .ListItems(i - 1).ListSubItems.Add , , MesProjets(i, 2)
            End With
        Next i
        '#############################ListView1#######################################
     
        '#############################ComboBox1#######################################
        'http://boisgontierjacques.free.fr/pages_site/formulaireListes2colonnes.htm
        Me.ComboBox1.ColumnCount = 2
        Me.ComboBox1.ColumnWidths = "50;70"
        Me.ComboBox1.List = MesProjets
        '#############################ComboBox1#######################################
     
     
     
        '#############################ListBox1#######################################
        With ListBox1
            .ColumnCount = 2
            .ColumnWidths = "40,70"
            .List() = MesProjets
        End With
        '#############################ListBox1#######################################
     
    End Sub
    il faudra bien sur supprimer ou commenter les zones entre
    '############################# #######################################
    si tu n'as pas l'objet sur ton userform



    Dans un module

    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
     
    Option Base 1
    Public MesProjets()
    Public ChoixProjet As String
    Public ChoixProjetCategorie As String
    Public Const MyprojectExcel = "U:\temp\Projets en cours.xls"
     
     
     
    Sub AfficheFormMesProjets()
        On Error Resume Next
        Set AT = ActiveInspector.CurrentItem
        If AT Is Nothing Then
            MsgBox "aucun RDV d'ouvert"
        Else
            If AT.Class = olAppointment Then
                Frm_MesProjets_listview.Show
     
                If ChoixProjet <> "" Then
                    AT.Subject = ChoixProjet & " " & AT.Subject
                   ' AT.Categories = ChoixProjetCategorie
                  '  AT.ReminderSet = False
                    AT.Body = ChoixProjet
                End If
            Else
                MsgBox "aucun RDV d'ouvert"
            End If
        End If
    End Sub
     
     
    Sub GetProjects()
    'on charge les infos du tableau EXCEL dans une VARIABLE
     
        Dim AppExcel As Excel.Application    'Application Excel
        Dim wbExcel As Excel.Workbook    'Classeur Excel
        Dim wsExcel As Excel.Worksheet    'Feuille Excel
        Dim RgExcel As Excel.Range
     
        'Ouverture de l'application
        Set AppExcel = CreateObject("Excel.Application")
        'appExcel.Visible = False
        'Ouverture d'un fichier Excel
        Set wbExcel = AppExcel.Workbooks.Open(MyprojectExcel, , True)
        'wsExcelProjects correspond à la première feuille du fichier
        Set wsExcel = wbExcel.Worksheets("EN COURS")
        'appExcel.Visible = True
        i = 1
        Set RgExcel = wsExcel.Range(wsExcel.Range("A1"), wsExcel.Range("a65536").End(xlUp))
        'ON DEFINI LE NOMBRE DE COLONNES
        ReDim MesProjets(RgExcel.Count, 2)
     
        For Each truc In RgExcel
            MesProjets(i, 1) = truc.Value    'N°
            MesProjets(i, 2) = truc.Offset(0, 1).Value    'Type
            i = i + 1
        Next truc
     
        wbExcel.Close False
        AppExcel.Quit
     
        Set wsExcel = Nothing
        Set wbExcel = Nothing
        Set AppExcel = Nothing
    End Sub
    et tu lances par un bouton la macro AfficheFormMesProjets LORSQUE qu'un RDV est OUVERT

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2019
    Messages : 8
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    Je me permet de commenter parce que c'est dans ce style que je souhaite écrire un code VBA sur Outlook.

    J'ai créer un userform où j'ai mis des TextBox, et j'aimerais que lorsque j'ouvre la partie RDV de Outlook, le userform apparaissent, je remplis les champs de chaque TextBox et au fur et à mesure pouvoir les mettre dans le Corps du mail de RDV. Sans passer sur Excel, le tout sur Outlook, j'ai un peu de mal à faire sa.

    Merci pour votre aide.

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/09/2015, 22h08
  2. Réponses: 5
    Dernier message: 28/02/2011, 21h42
  3. [VBA-E] Insertion de texte dans word
    Par malhivertman1 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/05/2006, 16h17
  4. insertion du text dans un champs d'une page internet
    Par lassmust dans le forum Web & réseau
    Réponses: 1
    Dernier message: 24/04/2006, 10h55
  5. Norme d'insertion/affichage texte dans une DB ?
    Par kiwikiller dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 21/12/2005, 11h53

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