Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 VBA - RechercheV sur plusieurs feuilles

  • Initiateur de la discussion Initiateur de la discussion Bixente
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Bixente

XLDnaute Nouveau
Bonjour le forum,

J'ai (encore !!!) besoin de vos lumières éclairées !!!!!!

j'ai plusieurs feuilles remplies par des salariés (dans mon exp feuil1 et feuil2).
Je voudrais que dans la feuille "total" :
- il y ait une ligne par produit différent.
- que les colonnes "fournisseur", "type de produit" et multiplicateur se remplissent automatiquement en fonction du produit.
- que la colonne "volume" soit le total des volumes de chaque feuille (pour un produit).

Merci d'avance pour toute l'aide que vous pourrez m'apporter.

à très vite j'espère.
 

Pièces jointes

Je modifie un peu ma demande

La feuille "total" est fixe, pour chaque produit j'ai seulement besoin de faire la somme de ce produit de toutes les feuilles.

J'ai fais un tout petit code pour 1 produit, mais comment faire des boucles sachant qu'il y a 150 produits et 50 feuilles ?

Sub test()
With Sheets("Total")
.Range("E3").Value = WorksheetFunction.VLookup(.Range("D3").Value, Sheets("Feuil2").Range("D3:E6"), 2, False) + WorksheetFunction.VLookup(.Range("D3").Value, Sheets("Feuil1").Range("D3:E6"), 2, False)
End With
End Sub

Merci encore pour votre aide !!!!!!!
 

Pièces jointes

Salut,

Tu peux procéder ainsi :
VB:
Sub test()
With Sheets("Total")

for each sh in worksheets

.Range("E3").Value = .Range("E3").Value+WorksheetFunction.VLookup(.Range("D3").Value, sh.Range("D3:E6"), 2, False)

next sh

End With
End Sub
 
Re,

J'avais répondu un peu vite, il y a donc des erreurs et je n'avais pas répondu à l'ensemble du problème, je pense que ça répond assez bien à ton problème (mais c'est encore perfectible) :
VB:
Sub test()

NbProduits = 5

For i = 1 To NbProduits
   
    Calcul = 0
   
    For Each sh In Worksheets
       
        If sh.Name <> "Total" Then
            Calcul = Calcul + Application.WorksheetFunction.SumIf(sh.Range("D3:D6"), Worksheets("Total").Range("D" & 2 + i), sh.Range("E3:E6"))
        End If
   
    Next sh
   
    Worksheets("Total").Range("E" & 2 + i).Value = Calcul
   
Next i

End Sub
 
Bonjour Bixente, Nairolf,

Ce n'est guère compliqué de remplir le tableau de la feuille "Total" mais il y a un os !

Vous ne nous dites pas comment est déterminé le multiplicateur (colonne F) d'un produit.

A+
 
Bonsoir à tous,

@Bixente : vous ne préfériez pas un récaptiluatif de toutes les lignes sur un classeur et travaillez ensuite sur un tableau croisé. Ca demande un peu de travail en plus pour les mises à jour (cases vides du TCD) mais ça permet de faire plus de choses par la suite pour l'exploitation des données.
Si vous ne souhaitez qu'un recap, les "pros" devraient vous fournir un code adapté -)

++
thierry
 
Bonjour à tous.


Merci Nairolf ça répond exactement à ma demande !!!!!
Je le teste sur mon fichier réel et je reviens vers toi !

Bonjour Bixente, Nairolf,

Ce n'est guère compliqué de remplir le tableau de la feuille "Total" mais il y a un os !

Vous ne nous dites pas comment est déterminé le multiplicateur (colonne F) d'un produit.

A+

Toutes les colonnes sont fixes. Donc pour le produit x le multiplicateur sera toujours 0.1.



Vous voulez dire un TCD fait avec une compilation de toutes les feuilles ?
 
Bonjour,

il aurait été plus simple de mettre TOUT dans un seul onglet ; des sous.totaux ou des tcd permettront après d'avoir les détails par fournisseur/produit/date (colonne manquante dans l'exemple !)

P.
 
@Bixente et le forum

Un exemple de fichier avec un onglet TOTAL et un TCD expliqué.
Comme l'indique GOSSELIEN, cela ouvre plus de possibilité d'exploitation de centraliser les informations dans un seul onglet.
Cela permet notamment de gérer des fichiers qui ne contiennent pas le même nombre de lignes.
C'est un peu plus long pour faire un copier coller valeur des TCD mais cela, en tout cas pour moi, est une méthode pérenne.

Cdlt
thierry
 

Pièces jointes

Merci à tous pour votre implication.

J'ai réussi à appliquer la macro de Nairolf, ce qui m'a permis de gérer l'urgence.

Le travail de Zebanx est parfait ........ pour la prochaine fois 😀

Merci encore c'est vraiment appréciable !!!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…