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 :

Mise à jour d'un fichier à partir d'un autre fichier VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Etudiant ingénieur
    Inscrit en
    Juillet 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Etudiant ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2015
    Messages : 12
    Par défaut Mise à jour d'un fichier à partir d'un autre fichier VBA
    Bonjour, je suis bloquer sur mon code VBA et j’aurais besoin d’aide. Je vous explique mon problème.

    J’ai un fichier 1 dans lequel ma première feuille il y a une liste avec certain articles (un article par ligne). J’ai ensuite un fichier 2 dans lequel il y a tous les articles (base de données).
    Je souhaiterais lorsque j’appuie sur mon bouton il mette à jour ma liste du fichier 1 (il sélectionne et copie la colonne ou il y a liste d’article de mon fichier 2 et la colle à la place de ma liste fichier 1.)

    J’ai commencé à codé mais cela ne fonctionne pas. Est-il possible d’avoir un peu d’aide ? =)

    Encore merci d’avance =)

    Ps : Code

    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
    Private Sub CommandButton19_Click()
     
    Dim Nouveau As String
    Dim NomFichier As String
    Dim x As Integer
    Dim y As Integer
    Dim LigneF
    Dim vect(1 To 10000) As String            ' vecteur a remplir d'info
    Dim vect2(1 To 10000) As String            ' vecteur a remplir d'info
     
    Nouveau = Dir("D:\9404124z\Documents\ESTIA\Alex\fichier2.xlsm") 
    Workbooks.Open Filename:=Nouveau     
    Nouveau = Right(Nouveau, Len(Nouveau) - InStrRev(Nouveau, "\"))   
    Workbooks(Nouveau).Worksheets("Feuille1"). 
    With Workbooks(Nouveau).Worksheets("Feuille1")   
    LigneF = .Range("A" & .Rows.Count).End(xlUp).Row
    End With
     
    For x = 1 To LigneF             
        vect(x) = Cells(x, 1)
        vect2(x) = Cells(x, 2)
    Next
     
    Workbooks("fichier1").Worksheets("Feuil1").Activate      
    For x = 1 To LigneF                         
        Cells(x, 1) = vect(x)
        Cells(x, 2) = vect2(x)
    Next
     
    Workbooks(Nouveau).Close   'Pour fermer le fichier
     
    End Sub

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    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 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    une proposition commentée

    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
    Private Sub CommandButton19_Click()
    Dim WbSource As Workbook
    Dim Listing()
     
    ' ouverture du fichier
    Set WbSource = Workbooks.Open("D:\9404124z\Documents\ESTIA\Alex\fichier2.xlsm")
    With WbSource.Worksheets("Feuille1")
        ' on prend la plage active de la colonne A et B
        ' on la met dans un tableau
        Listing = .Cells(1, 1).Resize(.UsedRange.Rows.Count, 2).Value
    End With
    ' fermeture du fichier
    WbSource.Close False
     
    With ThisWorkbook.Worksheets("Feuil1")
        ' on efface la colonne A et B
        .Columns(1).Resize(, 2).Clear
        ' on y injecte les données du tableau
        .Cells(1, 1).Resize(UBound(Listing, 1), 2).Value = Listing
    End With
     
    End Sub

  3. #3
    Membre averti
    Homme Profil pro
    Etudiant ingénieur
    Inscrit en
    Juillet 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Etudiant ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2015
    Messages : 12
    Par défaut
    Merci beaucoup ça fonctionne parfaitement =)

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 19/03/2008, 10h41
  2. [MySQL] Mise à jour constante d'informations à partir d'un autre site
    Par mrsoyer dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 13/02/2008, 10h31
  3. mise à jour d'une frame à partir d'une autre frame
    Par youness78 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 09/07/2007, 14h58
  4. Mise à jour D'une table à partir d'une autre
    Par Greg84 dans le forum Access
    Réponses: 1
    Dernier message: 19/07/2006, 16h09
  5. Réponses: 5
    Dernier message: 06/01/2005, 12h07

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