Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/08/2007, 16h02   #1
Membre actif
 
Inscription : août 2006
Messages : 312
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 312
Points : 157
Points : 157
Par défaut Manipulation des macros complémentaires par macro

Bonjour,

je me pose des questions sur les macros complémentaires.
J'aimerais savoir comment on peut faire pour retirer une macro complémentaire qui est déja activée.

Par exemple, je voudrais faire une macro qui puisse installer les nouvelles version d'une boite a outils, et pour cela quand il trouve une version antérieure déja installée, il faut qu'il puisse la retirer (la désactiver des macro complémentaires par codes).
Je sais comment en mettre grace a application.adds-in.add() mais il n'y a pas de remove? comment faire dans ce cas?

De même j'aimerai que ma macro puisse cocher elle meme dans l'onglet macro complémentaire. Comment faire ?

Merci d'avance...
EvaristeGaloisBis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2007, 12h17   #2
Rédacteur
 
Homme michel Tanguy
Inscription : août 2005
Messages : 3 317
Détails du profil
Informations personnelles :
Nom : Homme michel Tanguy
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : août 2005
Messages : 3 317
Points : 10 706
Points : 10 706
bonjour


J'espère que ces infos pourront t'aider


Pour récupérer des infos sur les compléments:

Code :
1
2
3
4
5
6
7
8
9
10
11
Sub listeMacrosComplementaires()
    Dim i As Integer
 
    For i = 1 To Application.AddIns.Count
        Debug.Print Application.AddIns(i).Title
        Debug.Print Application.AddIns(i).Name
        Debug.Print Application.AddIns(i).FullName
        Debug.Print Application.AddIns(i).Installed
        Debug.Print "---"
    Next
End Sub



Citation:
comment on peut faire pour retirer une macro complémentaire qui est déja activée.

Par exemple, je voudrais faire une macro qui puisse installer les nouvelles version d'une boite a outils, et pour cela quand il trouve une version antérieure déja installée, il faut qu'il puisse la retirer (la désactiver des macro complémentaires par codes).
Je sais comment en mettre grace a application.adds-in.add() mais il n'y a pas de remove? comment faire dans ce cas?
Cette procédure boucle sur les complément et le désactive s'il porte un nom précis:


Code :
1
2
3
4
5
6
7
8
9
10
11
Sub DesinstalleMacroComplementaire()
    Dim i As Integer
 
    For i = 1 To Application.AddIns.Count
        If Application.AddIns(i).Name = "ClasseFileSearch.xla" Then
            Application.AddIns(i).Installed = False
 
            Exit For
        End If
    Next
End Sub



Citation:
De même j'aimerai que ma macro puisse cocher elle meme dans l'onglet macro complémentaire. Comment faire ?
Utilise Installed = True


Code :
1
2
3
4
5
6
7
Sub InstallerMacroComplementaire()
    Dim oAddIn As AddIn
 
    Set oAddIn = Application.AddIns.Add _
        (Filename:="C:\Documents and Settings\mimi\dossier\NomComplement.xla")
    oAddIn.Installed = True
End Sub


bonne journée
michel
SilkyRoad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2007, 18h40   #3
Membre actif
 
Inscription : août 2006
Messages : 312
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 312
Points : 157
Points : 157
Merci Michel pour tes réponses simples, précises et efficaces.
EvaristeGaloisBis est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h54.


 
 
 
 
Partenaires

Hébergement Web