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

Macros et VBA Excel Discussion :

désactiver toutes les macros d'un fichier avant de l'importer


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 60
    Points : 55
    Points
    55
    Par défaut désactiver toutes les macros d'un fichier avant de l'importer
    Salut,
    je suis débutant en VBA, et j'ai une question à vous poser:
    j'ai créé une application sous VBA qui importe et lit dans un fichier excel, et je voudrais désctiver toutes les macros de ce fichier avant de l'importer.
    Merci d'avance.

    mon prog est le suivant:



    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
    Public Sub Demarrer_Click()
    Dim filt As String
    Dim index As Integer
    Dim cheminFichier As Variant
    Dim titre As String
    Dim i As Integer
    Dim Msg As String
    'Définit la liste des fichiers
     
    filt = "fichiers xls (*.xls),*.xls,"
     
    index = 3
    titre = "Délectionner un fichier à importer"
     
    cheminFichier = Application.GetOpenFilename(filefilter:=filt, Filterindex:=index, Title:=titre, MultiSelect:=True)
    If Not IsArray(cheminFichier) Then
    MsgBox "Aucun fichier n'a été sélectionné"
    Exit Sub
    End If
     
     
    For i = LBound(cheminFichier) To UBound(cheminFichier)
        Msg = Msg & cheminFichier(i)
     
    Next i
     
     
     
    'MsgBox "Vous avez sélectionné :" & vbCrLf & Msg
    Workbooks.Open Filename:=Msg
    Sheets(1).Select
     
    End Sub

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Teste en mettant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    '...ton code
    '...
    Application.enableEvents = false
    Workbooks.Open Filename:=Msg
    Sheets(1).Select
    Application.enableEvents = True
    Tu dis

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 60
    Points : 55
    Points
    55
    Par défaut
    ça marche, Merci beaucoup!!
    je voudrais savoir si tu as une méthodes pour importer plusieurs fichiers de ce type à la fois?

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    As-tu testé ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    For i = LBound(cheminFichier) To UBound(cheminFichier)
        Application.enableEvents = false
        Workbooks.Open cheminFichier(i)
        'Sheets(1).Select 'on n'est jamais obligé de sélectionner 
        'une feuille pour travailler dedans... 
        'sauf peut-être pour placer des filtres (à tester)
        Application.enableEvents = True
    Next i
    Si ton tableau ne comporte qu'un fichier, LBound(cheminFichier) = UBound(cheminFichier) et tu n'auras pas d'erreur.
    S'il en comporte plusieurs... non plus
    Tu dis
    A+

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 60
    Points : 55
    Points
    55
    Par défaut
    Merci Beaucoup!!
    en fait je suis en train de developper une application qui fait du traitement de masse sur des fichiers excel. En effet je veux récupperer des données sur ces fichiers, et je ne pense pas que ça serais vraimment nécéssaire de tous les ouvrir pour la récuppération des données, mais comme je suis débutant c'est le seul moyen que j'ai trouvé pour l'instant afin de faire ce traitement.
    Si tu as des propositions je suis toujours prennant.
    Et encore Mille Mercis.

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Tu peux toujours regarder ici si tu as plusieurs données à récupérer dans tes classeurs.
    Tu sais aussi qu'on peut écrire dans une cellule
    ='Chemin[Nom du fichier.xls]Nom de la feuil'!Adresse de la cellule
    Ce qui donne, pour avoir la valeur de la cellule B12 de la feuille "Feuil1 du classeur "LeClasseur.xls" placé dans le répertoire "D:\xls\" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ='D:\xls\[LeClasseur.xls]Feuil1'!$B$12
    Tu as également une autre méthode ici, pour des données ponctuelles.
    Bonnes lecture et bon courage
    A+

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/08/2014, 17h11
  2. Suppression de toutes les macros VBA d'un fichier Excels
    Par PJ_VBA dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/09/2012, 18h35
  3. activer / désactiver toutes les contraintes
    Par clawhammer dans le forum Oracle
    Réponses: 4
    Dernier message: 12/10/2006, 14h58
  4. Fusionner toutes les lignes d'un fichier
    Par _Mac_ dans le forum Linux
    Réponses: 2
    Dernier message: 02/12/2005, 14h18
  5. renvoyer toutes les section d'un fichier .ini
    Par user_steph dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 26/07/2005, 16h06

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