Remplir un tableau à partir d'un autre tableau

bonjour tout le monde,

Le titre du sujet n'est pas très claire, j'ai pas trouvé comme l'expliquer. Bref j'ai deux feuilles dans un classeur excel (Cf le fichier joint)

La première feuille est une sorte de nomenclature qui comporte des affaires et les sous ensemble qui la composent. Chaque sous ensemble nécessite certaines opérations. Chaque opération a un temps de gamme connu.

La deuxième feuille est une sorte de base de donnée, où pour chaque sous ensemble (partie standard), on regroupe les temps de gamme des différents opérations qui peuvent la composer.

Ma question est que je souhaite que la colonne D de la feuille 1 soit remplie automatiquement à partir de la feuille 2 suivant la valeur des cellules de B et de C.

J’espère que c'est claire, et n’hésitez pas à revenir vers moi pour d’éventuelle clarification.

Merci à toutes les personnes qui me fileront à coup de main

Bien à vous

129monclasseurvba.xlsm (11.01 Ko)

Bonjour,

Une proposition à étudier.

Cdlt.

380xlp-pq-cmmiro.xlsx (33.52 Ko)

Bonjour,

Je vous remercie pour votre réponse , je vais l’étudier plus en détails. Néanmoins n'est-il pas possible d'avoir les temps de gamme dans feuille 1 dans la colonne D? Une macro qui fera la correspondance entre les deux feuilles est possible?

J'avais pensé à une macro qui va parcourir ma feuille 1 et remplir la colonne D sous condition.

Je suis débutant en vba donc je sais pas encore qu'est ce qu'il est possible et qu'est ce qui l'est pas

Bien à vous

Bonjour,

Tes données ne sont pas normalisées et j'ai opté pour Récupérer et transformer (Power Query ou Kiri !) sous Excel 2016.

Plus simple d'utilisation que VBA dans ce contexte, avec un petit apprentissage.

Renseigne toi sur ce dernier !...

Maintenant, on peut le faire avec VBA, et je ne doute pas un instant, que tu auras des réponses qui vont dans ton sens.

Cdlt.

Lien utile :

https://support.office.com/fr-fr/article/obtenir-et-transformer-dans-Excel-2016-881c63c6-37c5-4ca2-b616-59e18d75b4de

Rebonjour,

Oui je suis en-cours d'apprentissage de VBA, j'ai trouver une piste mais je suis pas sur si ça va marcher. On m'a conseillé Power Query mais j'y connais rien encore j'aurai le temps de le regarder plus en détail. c'est peut être l'occasion de commencer

En tout cas merci pour votre retour,

Excelement

Bonjour,

Est ce que si on ajoute des ligne dans la première feuille, la requête prend en compte ces nouvelles données?

Cordialement

Bonjour,

Ajoute des données en feuille Affaire et Actualise tout.

Que se passe t'il ?

Attention, PQ est sensible à la casse (minuscule, majuscule).

Cdlt.

Bonsoir Jean-Eric, CmMiro, le forum

Une autre façon de procéder :

Option Explicit
Sub test()
Dim a, i As Long, txt As String, dico As Object
    Set dico = CreateObject("Scripting.Dictionary")
    dico.CompareMode = 1
    a = Sheets("Feuil1").Range("b2").CurrentRegion.Value
    For i = 2 To UBound(a, 1)
        If IsEmpty(a(i, 1)) Then a(i, 1) = a(i - 1, 1)
        txt = Join$(Array(a(i, 1), a(i, 2)), Chr(2))
        dico(txt) = a(i, 3)
    Next
    With Sheets("Affaire").Range("a3").CurrentRegion
        a = .Value
        For i = 2 To UBound(a, 1)
            If IsEmpty(a(i, 2)) Then a(i, 2) = a(i - 1, 2)
            txt = Join$(Array(a(i, 2), a(i, 3)), Chr(2))
            If dico.exists(txt) Then a(i, 4) = dico(txt)
        Next
        With .Columns(4)
            .Offset(1).Resize(.Rows.Count - 1).ClearContents
            .Value = Application.Index(a, 0, 4)
        End With
    End With
    Set dico = Nothing
End Sub

klin89

Bonjour Klin89,

Merci beaucoup pour votre réponse, je suis pas expert du vba donc je vais prendre un peu de temps pour comprendre votre code

En plus elle contient des commandes que je connais pas donc ça permet d’apprendre de nouvelles choses

Excelement

Rechercher des sujets similaires à "remplir tableau partir"