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 18/09/2006, 13h18   #1
Membre à l'essai
 
Inscription : août 2006
Messages : 94
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : août 2006
Messages : 94
Points : 23
Points : 23
Par défaut comment toujours activer les macros et mettre a jour les liaisons pour un seul fichié

Bonjour,
j'ai plusieurs fichiers excel, pour l'un d'entre eux, je voudrais :
-primo qu'il ne me demande pas si je veux activer les macros, car je veux que les macros soient systématiquement démarer dès l'ouverture.
-secondo qu'il ne me demande pas si je veux mettre a jour mes liaisons, car je veux systématiquement que mes liaisons soient mises a jour.

est ce que ce code convient ?

Code :
Application.displayAlerts = False
et ou le mettre (dans un modul, avec un sub, dans ThisWorkbook..) ?

merci de me répondre .
yahi.jye est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/09/2006, 13h23   #2
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 854
Points : 16 854
Envoyer un message via Skype™ à bbil
pour le primo utilise selfcert.exe ( sous c:\application...\office \...) pour te créer une signature personnelle puis le menu outils "signature electronique" te permet de "signer" ton projet..
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/09/2006, 13h58   #3
Membre à l'essai
 
Inscription : août 2006
Messages : 94
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : août 2006
Messages : 94
Points : 23
Points : 23
arf !
j'ai pas ce logiciel !
j'ai fait rechercher selfcert.exe et fouillé dans les dossiers office, mais rien de tel !
yahi.jye est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/09/2006, 14h11   #4
Membre à l'essai
 
Inscription : août 2006
Messages : 94
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : août 2006
Messages : 94
Points : 23
Points : 23
Citation:
selfcert.exe ...
je l'ai trouvé dans les fichiers d'installation !
mais comment j'applique a mon fichier ?

et il reste le second point !
yahi.jye est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/09/2006, 15h58   #5
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

pour le second point, il existe une solution: mais attention !
ce sont tous les fichiers Excel qui seront pris en compte.

Menu Outils
Options
Onglet "Modification"
Décoche la case "confirmation de la mise à jour automatique des liens"
Clique sur Ok pour valider



bon apres midi
michel
SilkyRoad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/09/2006, 16h19   #6
Membre à l'essai
 
Inscription : août 2006
Messages : 94
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : août 2006
Messages : 94
Points : 23
Points : 23
Grace a toi SilkyRoad, j'ai fait une recherche avec mots clef dans goolge, j'ai trouvé une solution !
Citation:
Mise à jour automatique des liens à l'ouverture
Lorsque j'ouvre un classeur et qu'il y a des liaisons xl me demande toujours si je veux les mettre à jour. Comment faire pour que le message n'apparaisse plus et que les liaisons se mettent à jour automatiquement ? Outils/Options/onglet Modification et décoche Confirmation de la mise à jour
automatique des liens.
En VBA : workbooks.open("zaza.xls",
Pour mettre à jour les liens à l'ouverture (0 pour ne pas mettre à jour).
ou bien encore : recopie ce petit bout de code dans l'événement Workbook_Open du
module ThisWorkbook
du classeur dans lequel tu veux mettre à jour automatiquement les liaisons à
l'ouverture :
Code :
1
2
3
4
Private Sub Workbook_Open() 
Application.AskToUpdateLinks = False 
ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources 
End Sub
Papou, Jacques Chaussard, Frédéric Sigonneau, (N°22)
je dois donc mettre le code tel que pour mettre a jour tous seul sans accord de l'utilisateur !

il me reste encore le premier point...
Un peu plus bas sur la même page, ca revient a lancer un script au lieu du fichier excel directement :

Citation:
Eviter l'alerte macro sur un fichier particulier
Avec un raccourci sur le bureau, comment lancer un fichier Excel contenant des macros sans avoir le message : " Le fichier tartenpion.xls Contient des macros Etc..." Avec Excel 2000, tu peux modifier le niveau de sécurité dans la base de
registre (bonjour, la sécurité !). Ce genre de changements doit cependant être
effectué avant l'ouverture d'Excel pour être pris en compte. Ce n'est donc pas
possible à faire depuis un classeur. Par contre, un script fait très bien
l'affaire. Il nécessite WScript.exe dans ton répertoire Windows (livré en
standard depuis Win 98 je pense, sinon téléchargeable chez Microsoft).
href="http://www.microsoft.com/france/scripting/default.php">http://www.microsoft.com/fran
e/sc
ipting/default.php

Dans un fichier texte (Notepad) recopie le code ci-dessous puis enregistre le
fichier sous, par exemple, "ModifTemporaireSecurite.vbs". Le nom importe peu,
seule l'extension a de l'importance.
Après avoir vérifié qu'Excel est bien fermé, le niveau de sécurité actuel (1, 2
ou 3) est récupéré puis fixé à 1 (pas d'alerte macro). Le fichier qui
t'intéresse est ensuite lancé et enfin le niveau de sécurité de départ est
restauré.

Un raccourci sur le bureau vers le script, tu changes d'icone et de nom, et le
tour est joué.Le même genre de manip est peut-être
possible avec Excel 97 et/ou Xp, si leur niveau de sécurité est également
stocké dans le registre.

Code :
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
'===================
'Excel doit être fermé
On Error Resume Next
Set objXl=GetObject(,"Excel.Application")
If Not IsEmpty(objXl) Then
Msgbox "Excel doit être fermé pour exécuter ce script..."
WScript.Quit
End If
 
Err.Clear
 
'objet script et chemin de la clé du registre pour Excel 2000
Set wsh = WScript.CreateObject("WScript.Shell")
Cle2000 = "HKCU\Software\Microsoft\Office\9.0\Excel\Security\Level"
 
If Not IsExcel2000 Then
MsgBox "Ce script ne peut désactiver l'alerte macro que pour Excel 2000..."
WScript.Quit
End If
 
Dim NiveauSecurite, wsh
 
'niveau de sécurité en début d'exécution
NiveauSecurite = wsh.RegRead(Cle2000)
 
'changement pour le niveau le plus faible
wsh.RegWrite Cle2000, 1,"REG_DWORD"
 
'ouverture du classeur sans alerte macro
Retour=wsh.Run("D:\6OfficeVBA\ClasseurTestSecurite.xls", 3, False)
 
 
'rétablissement du niveau de sécurité de départ
wsh.RegWrite Cle2000, NiveauSecurite,"REG_DWORD"
 
'pour vérifier si la clé pour Excel 2000 existe bien
Function IsExcel2000()
On Error Resume Next
 
Res=wsh.RegRead(Cle2000)
IsExcel2000=(Err=0)
End Function
Frédéric Sigonneau, (N°29)
Il me resterai donc juste a remplacer les nom de l'exemple par le nom de mon fichier et mettre ce script dans mon dossier source avec un lien sur le bureau ou plutot modifier mon planificateur de tache pour ce nouveau fichier de lancement !

pour l'instant mon fichier est actif donc je tenterai ce soir quand je pourai manipuler excel sans perturber mon rapatriement de données automatique.

Si tout fonctionne, j'indiquerai résolu des que possible.

merci de votre participation.
yahi.jye est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/09/2006, 23h20   #7
Membre à l'essai
 
Inscription : août 2006
Messages : 94
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : août 2006
Messages : 94
Points : 23
Points : 23
Bon alors, d'apres le script j'ai pas excel 2000.. pourtant j'ai bien ca !
- Bon il va falloir me dire comment faire pour apparaitre dans outils/macro/sécurité/sources fiables !!

sinon la mise a jour des liaisons se fait bien automatiquement
du coup j'ai un nouveau pb, car les liaisons sont en raccord avec un logiciel qui lance une application et qui va moins vite que la gestion des liaisons et donc j'ai un message d'erreur :
Avec une boule contenant un i : Données hors programme inaccessible. Voulez vous lancer l'application 'TDPDDE.EXE' ? oui/non
si je clique oui,Point d'exclamation : Impossible d'executer 'TDPDDE.EXE'. Ce programme ou l'un de ses composants est endommagé ou introuvable.
- Comment faire pour empécher ses messages d'apparaitre puisque le temps de les cliquer tout est dans l'ordre?

yahi
yahi.jye est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/09/2006, 23h46   #8
Membre à l'essai
 
Inscription : août 2006
Messages : 94
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : août 2006
Messages : 94
Points : 23
Points : 23
en fait le certificat s'incert via la fenetre de vb pas de excel d'ou que j'arrivai pas a le mettre.
efficace des le relancement du fichier.

par contre toujours rien pour la gestion de mes erreurs de liaisons !

yahi
yahi.jye est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 00h12   #9
Membre à l'essai
 
Inscription : août 2006
Messages : 94
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : août 2006
Messages : 94
Points : 23
Points : 23
meme en désactivant la mise a jour des liaisons le pb perciste !
yahi.jye est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 22h54   #10
Membre à l'essai
 
Inscription : août 2006
Messages : 94
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : août 2006
Messages : 94
Points : 23
Points : 23
pour résoudre le dernier pb, j'ai transféré mes liaisons dans des
Worksheets("feuil").Range("ref").Formulalocal = "ma liaison"
du coup mes liaisons sont créés uniquement quand j'en ai besoin !

yahi
yahi.jye est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h30.


 
 
 
 
Partenaires

Hébergement Web