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 :

Remplissage automatique d'un fichier excel à partir d'un autre


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
    Ingénieur Calcul
    Inscrit en
    Mars 2016
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur Calcul

    Informations forums :
    Inscription : Mars 2016
    Messages : 44
    Par défaut Remplissage automatique d'un fichier excel à partir d'un autre
    Bonjour la communauté,

    J'espère que vous allez bien en ces temps difficiles, je me retourne vers vous car je souhaite remplir automatiquement des tableaux dans des feuilles excel fichier "cible" à l'aide d'un autre fichier "source" en effet j'ai crée un code qui me renomme les feuilles du fichier cible en fonction d'une colonne dans "source" et qui me copie le tableau d'un onglet du fichier source dans toutes les feuilles du fichiers cible mais je souhaite remplir les tableaux fichiers cible avec les données d'un onglet fichier source et je ne comprends pas ou je me suis raté sur le code, Merci de m'éclaircir en ci-joint le 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
    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
    Sub Indicateurs()
     
        Dim f1 As Worksheet, f2 As Worksheet, f3 As Worksheet, Ws As Worksheet
        Dim i As Long, j As Long, h As Long, k As Long, c As Long, n As Long, s As Long
        Dim p As Object, m As Object
        Application.ScreenUpdating = False
        Windows("W12_DPIa.xlsx").Activate
        Set f1 = Sheets("Tracker")
        Set f2 = Sheets("Liste_des_directions")
        DerLig_direction = f2.Range("A" & Rows.Count).End(xlUp).Row
        DerLig_Liste = f1.Range("A" & Rows.Count).End(xlUp).Row
        DerLig_projet = f2.Range("C" & Rows.Count).End(xlUp).Row
        DerLig_Milestone = f1.Range("B" & Rows.Count).End(xlUp).Row
        DerLg_Document = f1.Range("D" & Rows.Count).End(xlUp).Row
        Windows("Test.xlsm").Activate
    For i = DerLig_projet To 1 Step -1
    Windows("W12.xlsx").Activate
            Sheets("Metier").Copy After:=Feuil1
     
            ActiveSheet.Name = f2.Cells(i, 3)
     
            For Each Ws In Worksheets
            For h = 2 To DerLig_Liste
            For j = 4 To 9
            Buisness = Ws.Cells(1, j)
            DerLig_DT = Ws.Range("J" & Rows.Count).End(xlUp).Row
            DerLig_Jalon = Ws.Range("B" & Rows.Count).End(xlUp).Row
     
            For s = 2 To DeLig_Document
            For k = 2 To DerLig_DT
            For n = 2 To DerLig_Milestone
            For c = 2 To DerLig_Jalon
     
            Do While f1.Cells(h, "C") = Ws.Name
            If f1.Cells(n, "B") = Ws.Cells(1, j) And f1.Cells(n, "B") = Ws.Cells(c, "B") And f1.Cells(s, "D") = Ws.Cells(k, "J") And f1.Cells(h, "A") = Ws.Cells(1, j) Then
            Ws.Cells(k, j) = 1
            End If
            h = h + 1
            j = j + 1
            s = s + 1
            k = k + 1
            n = n + 1
            c = c + 1
            Loop
            Next c
            Next n
            Next k
            Next s
            Next j
            Next h
    Next Ws
     
    Next i
     
    Set f1 = Nothing
    Set f2 = Nothing
     
    End Sub
    Merci par avance pour votre aide

  2. #2
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonjour,
    Citation Envoyé par dave5 Voir le message
    je ne comprends pas ou je me suis raté sur le code,
    Je pense que ton problème vient de ta gestion des boucles.
    Certes tu peux en empiler plusieurs mais pourquoi modifies-tu tes variables d'itération dans les boucles ?
    Cela traduit me semble-t-il un problème de conception et c'est source de gros soucis en règle générale.

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur Calcul
    Inscrit en
    Mars 2016
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur Calcul

    Informations forums :
    Inscription : Mars 2016
    Messages : 44
    Par défaut
    Merci Oui je réduirai le nombre d'indice et je relance la macro mais je ne sais pas si ca résoudra le soucis

  4. #4
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonjour,

    Ce n'est pas le nombre de boucles qui pose souci mais la variable d'itération qui ne doit pas être modifiée en cours.

    Ce n'est pas très sécurisant non plus de mixer les 'for' et les 'loop'.

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur Calcul
    Inscrit en
    Mars 2016
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur Calcul

    Informations forums :
    Inscription : Mars 2016
    Messages : 44
    Par défaut
    Merci pour votre retour j'ai essayé en changeant les indices ça n'a pas fonctionné pourriez vous m'aider svp à remplir les tableaux, je partage le fichier cible : Test.xlsm et le fichier source W12.xlsx Merci par avance de votre help
    Fichiers attachés Fichiers attachés

  6. #6
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonjour,
    Citation Envoyé par dave5 Voir le message
    pourriez vous m'aider svp à remplir les tableaux,
    Je voudrais bien t'aider mais je n'ai absolument pas compris ce que tu veux faire : pourrais-tu expliquer le but de ta problématique tout simplement

  7. #7
    Membre averti
    Homme Profil pro
    Ingénieur Calcul
    Inscrit en
    Mars 2016
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur Calcul

    Informations forums :
    Inscription : Mars 2016
    Messages : 44
    Par défaut
    Bonjour

    Merci bcq, dans le fichier w12.xlsx (fichier source) dans l'onglet tracker :
    -Colonne A=Buisness
    -Colonne B=jalon
    -Colonne C=projet
    -Colonne D=type de document

    quand je lance la macro à partir du fichier cible (Test.xlsm) elle me recopie l'onglet Metier du w12.xlsx avec les noms des projets (colonne C) j'aimerai que quand le nom onglet du test.xlsm est égale à la colonne C (projet) du w12.xlsx et quand une cellule dans le Range("D1:J1") du test.xlsm est égale à la colonne A (Buisness) une cellule la colonne B (jalon) de w12.xlsx est égale à une cellule de la colonne B du test.xlsm et quand une cellule de la colonne D du w12.xlsx est égale à une cellule de la colonne J du test.xlsm que les cellule dans les onglets dans le Range("D2:I46") se remplissent avec une valeur 1 ca veut dire que quand le projet est le méme que chaque onglet ainsi que le jalon et le buisness et le type de document m'afficher une valeur de 1

    Merci bcq par avance pour ton aide.

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

Discussions similaires

  1. [XL-2010] Mise à jour d'un fichier Excel à partir d'un autre source
    Par ADAHAYA dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/05/2016, 14h01
  2. Réponses: 4
    Dernier message: 17/07/2015, 10h40
  3. [XL-97] Alimenter un fichier excel à partir d'un autre
    Par titi_la_vermine dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 29/12/2010, 18h40
  4. [XL-2000] Mise à jour d'un fichier excel à partir d'un autre
    Par jejedelbarro dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 21/04/2009, 19h28
  5. [VBA-E]Génération de fichiers Excel à partir d'un autre
    Par cyrille2k5 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/05/2006, 11h27

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