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 :

Supprimer facilement toutes les liaisons d'un fichier chargé par l'utilisateur


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2015
    Messages : 156
    Points : 102
    Points
    102
    Par défaut Supprimer facilement toutes les liaisons d'un fichier chargé par l'utilisateur
    Bonjour à tous,

    J'ai codé une macro me permettant de balayer un fichier Excel, précédemment chargé par l'utilisateur via le formulaire mis à sa disposition...

    Pour une fichier "sans liaison", l'extraction des données se fait sans aucun problème. Le hick est pour les fichiers contenant des liaisons: mon code est comme bloqué...

    Même manuellement je n'arrive pas à supprimer ces liaisons... Donc en gros, existerait-il un moyen simple et automatique d'outrepasser ces liens/liaisons ?

    - Du style un code : (j'invente)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbook("MonFichier").sheets(1).ClearAllBond
    - Ou alors un espèce de copier-coller "spécial" ne conservant pas ces liens ...

    Enfin, en résumé: help !

    Merci d'avance

  2. #2
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 138
    Points : 9 972
    Points
    9 972
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    et si tu tentes une ouverture sans mise à jour des liens, ou en forçant la mise à jour des liens ?

    regarde la liste des argument de la méthode Open, tu as une argument dédié

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2015
    Messages : 156
    Points : 102
    Points
    102
    Par défaut
    Bonjour Joe,


    De fait, en théorie c'est bel et bien ce que je cherchais ... Pourquoi en théorie ? Parce qu'en pratique on dirait que l'argument n'agit pas ... Je m'explique:

    J'ai bien mis:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Cls = Workbooks.Open(TextBoxFichierFormation.Text, 2)
    Où l'argument 2 correspond à "Les liens ne sont jamais mis à jour dans ce classeur au moment de l'ouverture."
    ps: j'ai aussi testé l'argument "3" : "Les liens sont toujours mis à jour dans ce classeur au moment de l'ouverture."

    Cependant, j'ai toujours le même message d'erreur/d'alerte, me disant qu'il existe dans ce fichier des liens qui ne peuvent être mis à jour. C'est le même message qu'avant.

    Ce message me dit que si je clique sur "Continuer", les liaisons seront laissées tel quelles ... Et de fait, comme avant, le code tourne si je clique sur continuer, le code tourne normalement.

    Mais je n'arrive pas à me débarrasser de ce message d'alerte qui, esthétiquement parlant, n'est pas tip-top tip-top.

    Donc je ne comprends pas pourquoi ce message d'alerte continue de s'afficher alors que c'est justement ce que l'argument "2" est censé régler ... Donc quid ?


    Merci à toi

  4. #4
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 138
    Points : 9 972
    Points
    9 972
    Billets dans le blog
    5
    Par défaut
    et un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.DisplayAlerts = False
    juste avant l'ouverture du fichier

    en remettant à True après traitement



    tu as ce message car y'a peut être des liaisons corrompues ou relatives à un fichier inaccessible

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2015
    Messages : 156
    Points : 102
    Points
    102
    Par défaut
    Re,

    De fait, c'était ça le problème. Ta solution fonctionne au poil !

    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Supprimer tout les espaces dans un fichier texte
    Par harry le ravi dans le forum VBScript
    Réponses: 3
    Dernier message: 26/06/2009, 10h08
  2. Supprimer toutes les liaisons
    Par fabiencal dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/10/2008, 17h41
  3. Supprimer toutes les occurences d'un fichier
    Par bnadem35 dans le forum Administration système
    Réponses: 5
    Dernier message: 23/04/2008, 14h45
  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