Modification de macro par macro sous Outlook

whitelegend Messages postés 156 Date d'inscription vendredi 13 janvier 2006 Statut Membre Dernière intervention 2 mars 2009 - 26 nov. 2008 à 17:52
whitelegend Messages postés 156 Date d'inscription vendredi 13 janvier 2006 Statut Membre Dernière intervention 2 mars 2009 - 1 déc. 2008 à 17:05
Bonjour,

Voila le titre est très explicite...

J'ai fait plein plein plein de recherche avant de poster et le GROS problème c'est qu'il y a plein plein plein de solution pour faire ce que je veux mais sous VBA d'Excel ... :(

J'ai  donc activer la Reférence Microsoft Visual Basic for Applications Extensibility 5.3  comme demandé dans cette page

J'ai ensuite essayé d'adapter ce code sous outlook mais là ca coince...

Le code ThisWorkbook.VBProject..... ne fonctionne pas bien sur, on est sous outlook.

en revanche je ne trouve absolument comme accéder à la méthode VBProject sous outlook...

"ThisOutlookSession." n'accepte pas la méthode "VBProject"

dans l'explorateur d'objet de vba je trouve que la méthode VBProject est membre de la librairie VBIDE, maintenant disponible vu que j'ai activer la libriairie...

Voila donc le code ci-dessous serais pour moi un départ sachant que je vais avoir besoin d'acceder en plus aux evenements des composant d'un userform et pas au code d'un module comme le fait le code.

With ActiveWorkbook.VBProject.VBComponents("Nom du module").CodeModule
           ' pour le remplacement d'une ligne entière
           For i = 1To .CountOfLines
                 Cible = .Lines(i, 1)
                 If Cible = "texte cherché"Then
                     .ReplaceLine i, "Nouveau texte"
                 EndIf
           Next
End With

Voila voila, quelqu'un à t'il une piste ? ^^

merci d'avance

2 réponses

whitelegend Messages postés 156 Date d'inscription vendredi 13 janvier 2006 Statut Membre Dernière intervention 2 mars 2009
1 déc. 2008 à 16:56
Un petit message pour essayer de relancer le sujet ...

Je suis toujours coincé sur ce point...

Plus concrètement j'ai une macro sous outlook avec un userform et un bouton qui agrandi ou non le userform.

Par défaut le userform démarre en "petite taille" (les tailles petites et grandes etant défini par moi bien sur avec les propriété witdh ....) car dans ma macro j'ai une valeur booléenne égale à false.

Par un clic sur le bouton la valeur passe a true et en passant sur ma fonction le userform passe en grande taille.

Je souhaiterais modifier par macro la valeur par defaut ( au moment de l'initialisation) de mon booléen pour démarrer le programme soit en grande taille soit en petite ...

voila voila

J'espère que quelqu'un pourra m'aider ^^
0
whitelegend Messages postés 156 Date d'inscription vendredi 13 janvier 2006 Statut Membre Dernière intervention 2 mars 2009
1 déc. 2008 à 17:05
je rajoute mon code car je me rends compte que mon paté du dessus n'est pas forcément explicite.... :p

Je voudrais modifier par l'intermédiaire d'un nouveau bouton dans mon userform la ligne en rouge gras ci-dessous ( changer le False en True

Private Sub UserForm_Initialize()
    'Initialisation et chargement de la combobox
        Dim Item As Variant
            With ComboBox1
                .Text = "Autre"
                .Font.Italic = True
                .ForeColor = RGB(153, 153, 153)
            End With
    'Initialisation de la Textbox6
            With TextBox6
                .Text = "Ajouter une adresse mail ici"
                .Font.Italic = True
                .ForeColor = RGB(153, 153, 153)
            End With
    'Chargement des tableaux
            creationfournisseur
            creationrelation
            creationrelanceur
            For Each Item In fournisseur()
                ComboBox1.AddItem (Item)
            Next
    'Desactive la Combobox
            ComboBox1.Enabled = False
    'Colle le presse papier dans la Textbox "NCR"
            TextBox2.Paste
    'Insertion de l'imag
            imScreenShot.Picture = LoadPicture("c:\ScreenShot.jpg")
            imScreenShot.PictureSizeMode = fmPictureSizeModeStretch
            imScreenShot.Height = 144
            imScreenShot.Width = 216
    'Affiche ou non le ScreenShot ( False = afficher)
            clic = False' Initialisation de la variable "clic"<<<<<<<<<   ICI
            If Not clic Then
                UserForm1.Width = 461.25
                clic = True
                'btExtent.Caption = ChrW$("&H" & Hex(17))
                btExtent.Caption = ">"
            Else
                UserForm1.Width = 232.5
                clic = False
                'btExtent.Caption = ChrW$("&H" & Hex(9658))
                btExtent.Caption = "<"
            End If
End Sub
0
Rejoignez-nous