VBA recherche de données

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Répondre
d
dgerard7
Nouveau venu
Nouveau venu
Messages : 9
Inscrit le : 5 juin 2019
Version d'Excel : 2013

Message par dgerard7 » 28 mars 2020, 15:43

Bonjour à tous,

Je viens vers vous car je n'ai aucune idée de comment réaliser la boucle afin de faire ma recherche de données. Après beaucoup d'heures passées à trouver des formules, je n'ai plus d'autres choix de venir vers vous pour du VBA.

Dans le fichier joint en feuille 1 nous pouvons retrouver ma BDD avec le nombre d’occurrence que le code apparait, ainsi que les différents type de matières.

En feuille 2 c'est mon extraction de données. Dans cette feuille, j'aimerais avoir pour chaque code les différentes matières associées. Attention, pour un même code, il peut y avoir différentes matières prioritaires 1. Je pensais à réaliser un copier coller des cellules pleines mais je n'y arrive pas. Si vous avez une solution pour m'aider, j'en serais très reconnaissant!

Merci d'avance.

Damien
test.xlsx
(18.02 Kio) Téléchargé 8 fois
B
Ben74
Jeune membre
Jeune membre
Messages : 21
Inscrit le : 14 novembre 2018
Version d'Excel : 2016

Message par Ben74 » 28 mars 2020, 16:43

Salut Damien,

Je ne suis pas sur d'avoir bien compris ton besoin.

Tu as une Base de données en feuil1 et en feuil2 l'exploitation des données de la feuil1.

Avec pour Objectif :
Avoir pour chaque code les matières associées

Proposition de solution :

TCD avec tes codes en ligne et les matières en colonne et nombre de matière en valeur.

a+
test.xlsx
(17.81 Kio) Téléchargé 5 fois
Avatar du membre
paritec
Passionné d'Excel
Passionné d'Excel
Messages : 4'338
Appréciations reçues : 510
Inscrit le : 7 juin 2011
Version d'Excel : W10 - 2003 FR - 2010 FR

Message par paritec » 28 mars 2020, 16:55

Bonjour Dgerard7 le forum
bon alors tu veux quoi??? ta colonne occurrence on en fait quoi ???
1) pour une même référence on additionne les occurrences ??
2) les prioritaires 1 à 3, on les notes mais comment? la valeur de la colonne?? et quoi d'autre ??
tu peux nous faire un tableau manuellement du résultat que tu souhaites obtenir pour une ou deux références STP et on va te faire cela
à te relire
a+
Papou :)
Des bonnes explications et des petits fichiers représentatifs vont nous aider à vous aider !!!!
Avatar du membre
AFEH
Membre dévoué
Membre dévoué
Messages : 860
Appréciations reçues : 24
Inscrit le : 21 juillet 2008
Version d'Excel : 2007 FR

Message par AFEH » 28 mars 2020, 17:03

Bonjour Damien et le forum
Voici une idée en PJ
Copie dans la feuille3 de tous les codes qui ont une information en colonne C, D ou E.
Cdt
Henri
test_dgerard7.xlsm
(26.73 Kio) Téléchargé 3 fois
Avatar du membre
AFEH
Membre dévoué
Membre dévoué
Messages : 860
Appréciations reçues : 24
Inscrit le : 21 juillet 2008
Version d'Excel : 2007 FR

Message par AFEH » 28 mars 2020, 19:40

Re bonsoir,
Je n'avais pas pris en compte la remarque suivante.
Attention, pour un même code, il peut y avoir différentes matières prioritaires 1.
J'ai ajouté une autre macro (Essai3) pour en tenir compte, qui est la synthèse des macros "Essai1" et "Essai2"

cdlt
Henri
test3_dgerard7.xlsm
(28.89 Kio) Téléchargé 3 fois
Avatar du membre
paritec
Passionné d'Excel
Passionné d'Excel
Messages : 4'338
Appréciations reçues : 510
Inscrit le : 7 juin 2011
Version d'Excel : W10 - 2003 FR - 2010 FR

Message par paritec » 29 mars 2020, 17:15

Bonsoir Dgérard7 AFEH le forum
Voilà ton fichier en retour avec ce que tu veux
je n'ai pas tenu compte des occurrences, car je ne vois pas à quoi cela servirait.
si besoin tu me le dis et je rajouterai
a+
Papou :)

PS: AFEH Henri, bien mais un peu compliqué pour rien, mais tu as réussi à sortir un résultat bravo
Dgerard7 test V1.xlsm
(40.98 Kio) Téléchargé 2 fois
Des bonnes explications et des petits fichiers représentatifs vont nous aider à vous aider !!!!
Avatar du membre
paritec
Passionné d'Excel
Passionné d'Excel
Messages : 4'338
Appréciations reçues : 510
Inscrit le : 7 juin 2011
Version d'Excel : W10 - 2003 FR - 2010 FR

Message par paritec » 29 mars 2020, 17:29

Bonsoir Dgérard7 AFEH le forum
Voilà ton fichier en retour avec ce que tu veux
la V2 tient compte du nombre d'occurrences, même si je ne vois pas à quoi cela va servir.
a+
Papou :)
Dgerard7 test V2.xlsm
(40.67 Kio) Téléchargé 5 fois
Modifié en dernier par paritec le 30 mars 2020, 16:12, modifié 1 fois.
Des bonnes explications et des petits fichiers représentatifs vont nous aider à vous aider !!!!
Avatar du membre
AFEH
Membre dévoué
Membre dévoué
Messages : 860
Appréciations reçues : 24
Inscrit le : 21 juillet 2008
Version d'Excel : 2007 FR

Message par AFEH » 30 mars 2020, 12:03

Bonjour,
Paritec écrit:
PS: AFEH Henri, bien mais un peu compliqué pour rien, mais tu as réussi à sortir un résultat bravo
Désolé, mais je construis mes codes avec mes petites connaissances en VBA, et j'aboutis au même résultat que toi.
Pourquoi ma solution suivante (un peu compliqué pour rien, dis-tu) ne te convient pas?
Sub Essai3()
Set Ws1 = Sheets("Feuil1")
    Set Ws2 = Sheets("Feuil3")
     dl1 = Ws1.Range("A" & Rows.Count).End(xlUp).Row 'dernière ligne feuille1
     dl2 = Ws2.Range("A" & Rows.Count).End(xlUp).Row + 1 'dernière ligne vide feuille3
     For Each c In Ws1.Range("A2:A" & dl1)
     i = c.Row
     If Ws1.Range("C" & i) <> "" Or Ws1.Range("D" & i) <> "" Or Ws1.Range("E" & i) <> "" Then
            If c = Ws2.Range("A" & dl2 - 1) Then
                Ws2.Range("B" & dl2 - 1) = Ws2.Range("B" & dl2 - 1) & " " & Ws1.Range("C" & i)
                Ws2.Range("C" & dl2 - 1) = Ws2.Range("C" & dl2 - 1) & " " & Ws1.Range("D" & i)
                Ws2.Range("D" & dl2 - 1) = Ws2.Range("D" & dl2 - 1) & " " & Ws1.Range("E" & i)
            Else
                Ws1.Range("A" & i).Copy Destination:=Ws2.Range("A" & dl2)
                Ws1.Range("C" & i).Copy Destination:=Ws2.Range("B" & dl2)
                Ws1.Range("D" & i).Copy Destination:=Ws2.Range("C" & dl2)
                Ws1.Range("E" & i).Copy Destination:=Ws2.Range("D" & dl2)
            dl2 = dl2 + 1
            End If
      End If
      Next c
     
End Sub
On n'est pas sur ce forum pour un challenge, mais pour donner satisfaction au demandeur.
Demandeur qui reste à ce jour sans donner de nouvelles!
Cdt
Henri
Avatar du membre
paritec
Passionné d'Excel
Passionné d'Excel
Messages : 4'338
Appréciations reçues : 510
Inscrit le : 7 juin 2011
Version d'Excel : W10 - 2003 FR - 2010 FR

Message par paritec » 30 mars 2020, 12:37

Bonjour Henri
Tes codes sont parfait
Bonne journée
Papou :)
Des bonnes explications et des petits fichiers représentatifs vont nous aider à vous aider !!!!
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message