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 :

Comment récupérer des données qui se trouve dans un intranet


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 26
    Points : 3
    Points
    3
    Par défaut
    Bonjour à tous,

    Je suis débutant en vba et j'aimerais récupérer des données sous l'intranet.

    Voici le code que j'ai mis sauf qu'avec ce code une boite de dialogue s'affiche et je peux récupérer les fichiers mais moi j'ai besoin d'inscrire les liens réseaux des fichiers sur l'intranet.

    Merci j'attends vos retours.

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    Sub Creer_Recapitulatif()
        Dim wbRecap As Workbook         'fichier recap
        Dim wsRecap As Worksheet        'feuille où on écrit les données
        Dim wbSource As Workbook        'fichier à ouvrir
        Dim wsSource As Worksheet       'feuille où on cherche les données
        Dim DernLign As Integer         'ligne où on écrit les données
        Dim vFichiers As Variant        'noms des fichiers
        Dim i As Integer, k As Integer
        Dim rgRecap As Range            'plage où on copie les données
     
     
        Set wbRecap = ThisWorkbook       'Fichier récapitulatif
        Set wsRecap = wbRecap.Sheets(1)  'on écrit dans la feuille 1 du fichier récapitulatif
     
        ' --- Ouvrir boite de dialogue pour sélectionner les fichiers à ouvrir
        vFichiers = Selectionner_Fichiers("Sélectionner les fichiers à compiler") 'Appel de Fonction pour ouvrir fichiers
     
        ' --- Vérifier qu'au moins un fichier à été sélectionné
        If Not IsArray(vFichiers) Then
            Debug.Print "Aucun fichier sélectionné."
            MsgBox "Erreur! Aucun/Mauvais fichier sélectionné."
            Exit Sub
        End If
        On Error Resume Next
     
        Application.ScreenUpdating = False
     
        ' --- Boucle à travers les fichiers
        For k = 1 To UBound(vFichiers)
            Application.StatusBar = ">> Lecture du fichier #" & k & "/" & UBound(vFichiers)
     
            ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            ' C'est ici qu'on écrit les instructions
            Set wbSource = Workbooks.Open(vFichiers(k))                        'on ouvre le fichier
            Set wsSource = wbSource.Sheets(1)                                  'On copie les données de la feuille 1
            DernLign = wbRecap.Sheets(1).Range("A60000").End(xlUp).Row + 1     'ligne pour écrire le log des fichiers compilés
     
     
            ' - On copie les données vers le fichier Recapitulatif; à adapter
            Set rgRecap = wsRecap.Range("A65000").End(xlUp).Offset(1, 0)
            rgRecap = Time
            With wsSource
                rgRecap.Offset(0, 1) = .Range("B7")
                rgRecap.Offset(0, 2) = .Range("B8")
                rgRecap.Offset(0, 3) = .Range("B10")
                rgRecap.Offset(0, 4) = .Range("B13")
                rgRecap.Offset(0, 5) = .Range("B14")
            End With
     
            wbSource.Close              'fermer fichier
            Set wbSource = Nothing
            ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        Next k
     
        Application.ScreenUpdating = True
        Application.StatusBar = False
     
    End Sub
     
    Function Selectionner_Fichiers(sTitre As String) As Variant
        Dim sFiltre As String, bMultiSelect As Boolean
     
        sFiltre = "Fichiers XYZ (.xls)(.xlsm), *.xls*"
        bMultiSelect = True 'Permet de choisir plusieurs fichiers à la fois
        Selectionner_Fichiers = Application.GetOpenFilename(Filefilter:=sFiltre, Title:=sTitre, MultiSelect:=bMultiSelect)
    End Function

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2013
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2013
    Messages : 46
    Points : 35
    Points
    35
    Par défaut
    Essaye ça

    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
    Private Sub Browser()
    Dim Bwser As FileDialog
    Dim XlsPath As String
    Dim TheFile As Workbook
    Dim ThisWB As Workbook
     
    Set ThisWB = ActiveWorkbook
     
    Set Bwser = Application.FileDialog(msoFileDialogFilePicker)
    Bwser.AllowMultiSelect = False
    Bwser.Show
    If Bwser.SelectedItems.Count > 0 Then
     
    XlsPath = Bwser.SelectedItems(1)
     
    Set TheFile = Workbooks.Open(XlsPath)
     
    TheFile.Sheets("Feuilselectionnee").Copy After:=ThisWB.Sheets(ThisWB.Sheets.Count)
    TheFile.Close
     
    Sheets("Feuilselectionnee").Select
     
    Set Bwser = Nothing
     
    End Sub

  3. #3
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 864
    Points
    3 864

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 26
    Points : 3
    Points
    3
    Par défaut
    bonjour
    Merci mais je ne comprends toujours pas mais j'ai est ce que avec ce code je peux accéder à un fichier excel sur l'intranet avec un lien?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ChDir "le lien de l'intraner "
        monfichier = Dir("*.*")
    qu'est ce que je dois mettre avant dans le code?

Discussions similaires

  1. [PHP 5.4] récupérer des données qui se trouvent dans un fichier JSON
    Par aspkiddy dans le forum Langage
    Réponses: 12
    Dernier message: 28/04/2015, 15h43
  2. Réponses: 5
    Dernier message: 18/08/2014, 18h00
  3. [WD-2007] Comment récupérer le graphique qui se trouve dans un Shape
    Par Australia dans le forum VBA Word
    Réponses: 0
    Dernier message: 24/02/2011, 18h31
  4. Réponses: 8
    Dernier message: 13/08/2008, 21h58
  5. Réponses: 0
    Dernier message: 10/08/2008, 19h05

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