XL 2010 Aidez moi je craque

storme

XLDnaute Nouveau
Bonsoir,

Je me permets de vous solliciter car j'ai un gros souci que je n'arrive pas à résoudre.
Je vous explique j'ai un classeur sur lequel j'ai plusieurs onglets.
Un onglet :tva et no tva
Mon souhait serait d'arriver en faire un seul et récupérer certaines colonnes pour obtenir les clients concernés à partir du n° de pièce

les coclonnes renseignes sur la feuille
Pouvez-vous m'aider svp ça fait des heures que je suis dessus et je craque là?
 
Solution
cad ?le fichier est trop volumineux
Le fichier n'est pas indispensable mais il va falloir vous débrouiller toute seule.

Placez cette macro dans le code de la feuille "resultat" :
VB:
Private Sub Worksheet_Activate()
Dim resu(), d As Object, tablo, i&, n&
ReDim resu(1 To Rows.Count, 1 To 8)
Set d = CreateObject("Scripting.Dictionary")
'---feuille encours (création de la liste des numéros)---
tablo = Feuil1.UsedRange.Resize(, 4)
For i = 2 To UBound(tablo)
    If tablo(i, 4) <> "" Then d(tablo(i, 4)) = ""
Next
'---feuille tva---
tablo = Feuil2.UsedRange.Resize(, 34)
For i = 2 To UBound(tablo)
    If d.exists(tablo(i, 1)) Then
        n = n + 1
        resu(n, 1) = tablo(i, 1)
        resu(n, 2) = tablo(i, 7)
        resu(n, 3) =...

storme

XLDnaute Nouveau
1578562770440.png
 

storme

XLDnaute Nouveau
bonjour JHA,

merci pour votre retour. je souhaiterai surtout faire apparaître le tiers payeur à partir du numéro de pièce les clients présent de la feuille encours (C-CLIENT "colonne A") qui comporte plus de 3000 lignes en les comparant à celles des feuilles tva (colonne g)et no tva (colonne l); est reporter les montants des factures.
 

storme

XLDnaute Nouveau
Alors comme je vous l'ai explique je suis novice en vba du coup comprendre les lignes de codes assez complexe pour moi . PAr contre comme je vous l'ai dit la colonne "A " appelé C-CLIENT du fichier encours correspond au tiers payeur des autres feuilles
 

job75

XLDnaute Barbatruc
PAr contre comme je vous l'ai dit la colonne "A " appelé C-CLIENT du fichier encours correspond au tiers payeur des autres feuilles
D'accord, alors voyez ce fichier (2) et la macro complétée :
VB:
Private Sub Worksheet_Activate()
Dim resu(), tablo, i&, n&
ReDim resu(1 To Rows.Count, 1 To 8)
'---feuille encours---
tablo = Feuil1.UsedRange.Resize(, 12)
For i = 2 To UBound(tablo)
    If tablo(i, 4) <> "" Then
        n = n + 1
        resu(n, 1) = tablo(i, 4)
        resu(n, 2) = tablo(i, 1) 'correspond au Tiers Payeur
        resu(n, 3) = tablo(i, 3)
        resu(n, 6) = tablo(i, 9)
        resu(n, 7) = tablo(i, 12)
        resu(n, 8) = Feuil1.Name 'repérage feuille
    End If
Next
'---feuille tva---
tablo = Feuil2.UsedRange.Resize(, 34)
For i = 2 To UBound(tablo)
    If tablo(i, 1) <> "" Then
        n = n + 1
        resu(n, 1) = tablo(i, 1)
        resu(n, 2) = tablo(i, 7)
        resu(n, 3) = tablo(i, 19)
        resu(n, 4) = tablo(i, 15)
        resu(n, 5) = tablo(i, 17)
        resu(n, 6) = tablo(i, 16)
        resu(n, 7) = tablo(i, 34)
        resu(n, 8) = Feuil2.Name 'repérage feuille
    End If
Next
'---feuille notva---
tablo = Feuil3.UsedRange.Resize(, 28)
For i = 2 To UBound(tablo)
    If tablo(i, 23) <> "" Then
        n = n + 1
        resu(n, 1) = tablo(i, 23)
        resu(n, 2) = tablo(i, 12)
        resu(n, 3) = tablo(i, 26)
        resu(n, 6) = tablo(i, 28)
        resu(n, 7) = tablo(i, 27)
        resu(n, 8) = Feuil3.Name 'repérage feuille
    End If
Next
'---restitution---
If FilterMode Then ShowAllData 'si la feuille est filtrée
With [A2] '1ère cellule de destination, à adapter
    If n Then .Resize(n, 8) = resu
    .Offset(n).Resize(Rows.Count - n - .Row + 1, 8).ClearContents 'RAZ en dessous
End With
Columns.AutoFit 'ajustement largeurs
With UsedRange: End With 'actualise la barre de défilement verticale
End Sub
 

Pièces jointes

  • recherche donnees(2).xlsm
    28.4 KB · Affichages: 2

storme

XLDnaute Nouveau
merci pour votre patience mais je crois que je suis nulle en explication donc je vais essayer de mieux m'expliquer .
je voudrais qu'à partir de la feuille des encours (fichier le plus récent ) et des numéros de pièces présentent dans ce tableau faire une recherche dans les autres feuilles (tva et no tva) et si le numéro de pièce correspond les coller dans la feuille résultat.
Les feuilles tva et no tva sont des extractions du journal de vente avec pour la feuille tva les infos présentent dans les colonnes "O;P;Q" respectivement

Montant HTMontant TTCMontant taxe
sont en plus et il me les faut.

j'espère être:oops: plus claire
 

Discussions similaires

Réponses
2
Affichages
664
Réponses
8
Affichages
461

Statistiques des forums

Discussions
312 223
Messages
2 086 407
Membres
103 201
dernier inscrit
centrale vet