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 :

Remplir un tableau d'apres un autre tableau


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mars 2021
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Mars 2021
    Messages : 1
    Par défaut Remplir un tableau d'apres un autre tableau
    Bonjour,
    Je souhaite avoir un code vba qui permet de remplir un tableau à partir d'une autre tableau.
    Le tableau de données est dans l'onglet "First" et l'output dans le tableau "Output" selon des conditions.
    Cij-joint le fichier de travail.
    test final.xlsm
    Merci d'avance

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Bonjour,

    Essayez ceci:
    Pièce jointe 594481

    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
    Sub Remplissage_Tableaux()
        Dim f1 As Worksheet, f2 As Worksheet
        Dim DerLig_f1 As Long, DerLig_f2 As Long, DerCol_f2 As Long
        Dim i As Long, j As Long
     
        Application.ScreenUpdating = False
        Set f1 = Sheets("First")
        Set f2 = Sheets("OUTPUT")
        DerLig_f1 = f1.Range("A" & Rows.Count).End(xlUp).Row
        DerLig_f2 = f2.Range("A" & Rows.Count).End(xlUp).Row
        DerCol_f2 = f2.Range("XFD4").End(xlToLeft).Column
     
        For i = 4 To DerLig_f2 Step 28
            For j = 1 To DerCol_f2 Step 13
                f2.Cells(i + 1, j + 1).FormulaArray = "=IFERROR(INDEX(First!R1C1:R" & DerLig_f1 & "C15,MATCH(1,(First!R1C1:R" & DerLig_f1 & "C1=R" & i - 3 & "C" & j + 1 & ")*(First!R1C4:R" & DerLig_f1 & "C4=R" & i - 2 & "C" & j + 1 & ")*(First!R1C2:R" & DerLig_f1 & "C2=RC" & j & "),0),MATCH(R4C,First!R1C1:R1C15,0)),"""")"
                f2.Cells(i + 1, j + 1).AutoFill Destination:=Range(f2.Cells(i + 1, j + 1), f2.Cells(i + 1, j + 11)), Type:=xlFillDefault
                Range(f2.Cells(i + 1, j + 1), f2.Cells(i + 1, j + 11)).AutoFill Destination:=Range(f2.Cells(i + 1, j + 1), f2.Cells(i + 23, j + 11)), Type:=xlFillDefault
                Range(f2.Cells(i + 1, j + 1), f2.Cells(i + 23, j + 11)).Value = Range(f2.Cells(i + 1, j + 1), f2.Cells(i + 23, j + 11)).Value
            Next j
        Next i
        f2.Select
        Set f1 = Nothing
        Set f2 = Nothing
    End Sub
    Cdlt

Discussions similaires

  1. [XL-2007] [Débutant] Remplir un tableau à partir d’un autre tableau
    Par DerJul dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 05/07/2011, 11h37
  2. [Toutes versions] Remplir un tableau depuis un autre onglet
    Par freestyler dans le forum Excel
    Réponses: 3
    Dernier message: 06/04/2011, 17h25
  3. Réponses: 1
    Dernier message: 14/04/2010, 17h13
  4. [TP] Remplir un tableau à partir des données d'un autre tableau
    Par The future scientist dans le forum Turbo Pascal
    Réponses: 6
    Dernier message: 27/05/2007, 17h31
  5. remplir un tableau avec un autre
    Par sandball22 dans le forum C
    Réponses: 28
    Dernier message: 20/04/2007, 16h13

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