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 :

generer un lien puis l'ouvrir [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Janvier 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Janvier 2020
    Messages : 3
    Par défaut generer un lien puis l'ouvrir
    Bonjour,

    je me lance dans le VBA mais je n'y connais pas encore grand chose, j'aurai donc besoin de votre aide pour savoir si ce que je veux faire est possible

    On va générer un fichier chaque jour, il va se présenter sous cette forme:
    Nom : Capture.PNG
Affichages : 99
Taille : 8,7 Ko

    L'idée est de générer un lien (avec l'IdAgence et l'IdMateriel) et de l'ouvrir avec un navigateur et de répéter ça pour chaque ligne que j'aurai dans mon tableau

    j'ai fait un début mais actuellement si je lance ça, il ne se passe rien. J'ai un doute sur le fonctionnement de ma boucle et sur comment ouvrir un lien

    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
     
    Sub UpdateGroup()
     
    Dim IE As Object
     
    Set IE = CreateObject("InternetExplorer.Application")
     
     
     
    Start = 2
    Dim nbLignes As Integer
     
     
    nbLignes = cells(rows.count,1).end(xlup).row
    IdAgence = Worksheets("Rapprochement").Cells(Start, 2).Value
    IdMateriel= Worksheets("Rapprochement").Cells(Start, 4).Value
     
     
     
     
    Do While Start<nbLignes
     
    IE.navigate "https://api.trackunit.com/public/UpdateGroup?id=" & IdAgence & "addUnits=" & IdMateriel & "&token=XXXXXXXXXXXXXXX"
     
    Application.Wait DateAdd("s", 5, Now)
     
    Start = Start + 1
    Loop
     
    End Sub
    Cordialement

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par bastiencrespy Voir le message
    L'idée est de générer un lien (avec l'IdAgence et l'IdMateriel)
    Pour insérer un lien hypertexte dans une cellule, méthode Hyperlinks.Add appliquée au Worksheet de la feuille concernée.
    Lire ça : https://docs.microsoft.com/fr-fr/off...hyperlinks.add

    et de l'ouvrir avec un navigateur
    Pour ouvrir un lien hypertexte déjà créé, méthode Follow appliqué à l'hyperlink concerné.
    Lire ça : https://docs.microsoft.com/fr-fr/off...perlink.follow

  3. #3
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 121
    Par défaut
    Salut

    Ton instance d'Internet Explorer n'est pas visible c'est pour ça, il faut ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set IE = CreateObject("InternetExplorer.Application")
    IE.Visible = true
    Attention ici de préciser la feuille sur laquelle tu travailles
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nbLignes = cells(rows.count,1).end(xlup).row
    Tu dois avoir pleins d'instance d'IE de lancées sur ton poste.
    Pour les voir va dans le Gestionnaire de tâche (Clique droit sur la barre de menu windows ou Ctrl+Alt+Supp).
    Tu pourras arrêter les processus IE que tu ne vois pas à l'écran

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 171
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Une autre option est l'utilisation de la fonction LIEN_HYPERTEXTE
    Son utilisation a un gros avantage c'est sa souplesse d'utilisation avec d'autres cellules d'excel contenant l'adresse URL, le texte convivial, etc.
    Placée dans un tableau structuré elle rend encore plus dynamique son usage sans VBA
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Candidat au Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Janvier 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Janvier 2020
    Messages : 3
    Par défaut
    Merci pour vos réponses !

    Entre vos réponses et celles d'un collègue, j'ai réussi à faire ce que je voulais



    merci

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 171
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Entre vos réponses et celles d'un collègue, j'ai réussi à faire ce que je voulais
    Je suis ravi pour toi et merci de nous l'avoir signalé.
    Cependant, un forum est un partage et nous indiquer le choix que tu as fait aurait été un plus car il peut aider d'autres personnes fréquentant ce forum.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Candidat au Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Janvier 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Janvier 2020
    Messages : 3
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,

    Je suis ravi pour toi et merci de nous l'avoir signalé.
    Cependant, un forum est un partage et nous indiquer le choix que tu as fait aurait été un plus car il peut aider d'autres personnes fréquentant ce forum.
    Oui tu as complétement raison

    dans mon code :
    - j'ai rajouté IE.Visible = True pour m'assurer que mon lien était bon
    - j'ai déplacé mes 2 variables(idagence et idmateriel qui correspondent à des cellules de mon tableau dans la boucle pour mettre à jour le numéro de ligne
    qui va être lu

    voici le code qui fonctionne :

    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
    34
    35
     
     
    Sub UpdateGroup()
     
    Dim IE As Object
     
    Set IE = CreateObject("InternetExplorer.Application")
    IE.Visible = True
     
     
    Start = 2
    Dim nbLignes As Integer
     
     
    nbLignes = Cells(Rows.Count, 1).End(xlUp).Row
     
     
     
     
     
        Do While Start < nbLignes + 1
    IdAgence = Worksheets("Rapprochement").Cells(Start, 2).Value
    IdMateriel = Worksheets("Rapprochement").Cells(Start, 4).Value
     
     
    'IE.navigate "https://api.trackunit.com/public/UpdateGroup?id=" & IdAgence & "&removeUnits=" & IdMateriel & "&token=XXXXXXXXXXX"
     
     
    Application.Wait DateAdd("s", 5, Now)
     
     
    Start = Start + 1
        Loop
     
    End Sub

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

Discussions similaires

  1. [AC-2007] Lien hypertexte pour ouvrir une BDD sur un enregistrement précis
    Par Lincoln911 dans le forum VBA Access
    Réponses: 0
    Dernier message: 03/08/2010, 10h10
  2. Bloquer les liens ou les ouvrir dans une nouvelle fenêtre
    Par Invité2 dans le forum Outlook Express / Windows Mail
    Réponses: 0
    Dernier message: 01/01/2009, 18h33
  3. Fermer un formulaire puis l'ouvrir à nouveau
    Par nikobell dans le forum IHM
    Réponses: 2
    Dernier message: 19/06/2007, 16h13
  4. generer un lien html interne
    Par darkfrag dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 22/05/2007, 14h00
  5. Générer plusieurs liens avec 1 input et 1 bouton
    Par caillon dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/11/2006, 14h46

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