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 à partir d'un autre tableau Excel ?


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 qualité méthodes
    Inscrit en
    Décembre 2019
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2019
    Messages : 12
    Par défaut Remplir un tableau à partir d'un autre tableau Excel ?
    J'ai besoin d'un macro pour remplir un tableau dans la feuille 2 à partir d'un autre tableau excel dans la feuille 1 selon deux critére Poste de travail 1;2;3 et ligne 1;2;3;5;6;7;8;9;10.
    Merci d'avance pour votre aide.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonjour et bienvenue ATEF
    Pourquoi ne pas faire avec un TCD avec comme segment la poste et la ligne surtout que normalement tu maîtrise pas VBA ??
    Aussi je constate que don ton fichier exemple tu n'as que l5 et l6
    Aussi est il nécessaire de faire des tableaux avec chaque fois 7 et exactement 7 lignes ?? d'ailleurs si je filtre Equipe 1 et L5 je trouve 74 employés comment faire dans ce cas ??
    Je pense aussi à l'historique des affectation .....
    Je crois qu'avant d'entamer la programmation il faut bien penser à tes besoins futurs et actuels
    BONNE CONTINUATION

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2019
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2019
    Messages : 12
    Par défaut
    Je veux le faire avec VBA car c'est pas à moi de la manipuler.
    Merci pour pour votre réponse.
    Fichiers attachés Fichiers attachés

  4. #4
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    Rebonjour ATEF , la forum
    beaucoup de question lors de ma précédente intervention reste sans réponse dont la structure de tes tableaux qui vont recevoir les données qui réponds aux deux conditions
    Mais le principe en général, à mon modeste avis (à adapter pour tes besoins) :
    un userform et un bouton de commande ; choisir l'équipe en combobox1 et la ligne en combobox2 puis cliquer sur le bouton de commande
    ( filtrer et envoyer les données)
    NB : je suis autodidacte et débutant donc à tester avec prudence
    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
    Private Sub CommandButton1_Click()
    Dim F1 As Worksheet
    Dim F2 As Worksheet
    Set F1 = Sheets("EMPLOYE")
    Set F2 = Sheets("AFFECTATION")
     
    Application.ScreenUpdating = False
     
    derlig = F2.Range("B" & Rows.Count).End(xlUp).Row
    derlig2 = F1.Range("A" & Rows.Count).End(xlUp).Row
      If derlig >= 10 Then F2.Range("B10:F" & derlig).ClearContents
     With F1
        If Not .AutoFilter Is Nothing Then
          If .FilterMode Then .ShowAllData
          .AutoFilter.Range.AutoFilter
        End If
    i = .Cells(Rows.Count, 1).End(xlUp).Row
    .Range("A1:E" & i).AutoFilter Field:=4, Criteria1:=ComboBox1.Value
    .Range("A1:E" & i).AutoFilter Field:=5, Criteria1:=ComboBox2.Value
    F2.Activate
    F1.Range("A2:B" & derlig2).SpecialCells(xlCellTypeVisible).Copy Destination:=F2.Range("B10")
     
     
    End With
    F2.Cells(3, 4) = Date
    F2.Cells(5, 4) = ComboBox1.Value
    F2.Cells(7, 4) = ComboBox2.Value
     
    F1.Range("A1:E" & derlig2).AutoFilter Field:=1
     
    F2.Select
     Application.ScreenUpdating = True
     
    End Sub
     
    Private Sub UserForm_Initialize()
     
    Dim F1 As Worksheet
    Dim F2 As Worksheet
    Set F1 = Sheets("EMPLOYE")
    Set F2 = Sheets("AFFECTATION")
     
     With F1
        If Not .AutoFilter Is Nothing Then
          If .FilterMode Then .ShowAllData
          .AutoFilter.Range.AutoFilter
        End If
    End With
     
    Dim i As Integer
    For i = 2 To F1.Range("D65536").End(xlUp).Row
      ComboBox1 = F1.Range("D" & i)
      ComboBox2 = F1.Range("E" & i)
      If ComboBox1.ListIndex = -1 Then ComboBox1.AddItem F1.Range("D" & i)
      If ComboBox2.ListIndex = -1 Then ComboBox2.AddItem F1.Range("E" & i)
    Next i
    ComboBox1.Value = ""
    ComboBox2.Value = ""
     
    End Sub
    Fichiers attachés Fichiers attachés

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2019
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2019
    Messages : 12
    Par défaut Merci
    Merci pour votre réponse
    mais ça affiche l'erreur en image ci-joint
    Images attachées Images attachées  

  6. #6
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonjour
    avez vous changer le nom des onglets??
    feuil1 et feuil2 ??

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

Discussions similaires

  1. Remplir un tableau Excel par une autre fichier automatiquement
    Par Excel2020 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 15/10/2019, 14h10
  2. comment remplir une checkedlistbox à partir d'une autre ?
    Par maxland dans le forum Windows Forms
    Réponses: 13
    Dernier message: 11/06/2008, 16h33
  3. remplir une colonne à partir d'une autre table
    Par judy_ dans le forum Langage SQL
    Réponses: 6
    Dernier message: 08/06/2008, 22h05
  4. Conseil pour remplir un tableau excel depuis USF
    Par zouille dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/10/2006, 11h15
  5. remplir un champs à partir d'un autre champ
    Par Claire07 dans le forum Access
    Réponses: 4
    Dernier message: 19/06/2006, 12h50

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