Somme par vendeur a partir de plusieurs onglets

  • Initiateur de la discussion Initiateur de la discussion lelanor
  • 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 !

L

lelanor

Guest
Bonjour le forum,

je souhaites additionner les ventes de chaque vendeur (V1, V2, etc) alors qu'ils travaillent dans plusieurs magasins (mes onglets) pour faire un tableau recap dans "Total".

comment faire?

merci pour votre aide
 

Pièces jointes

Re : Somme par vendeur a partir de plusieurs onglets

Bonjour,
en B3,
Code:
=SOMME(SOMME.SI(INDIRECT("MAG"&{1;2;3}&"!A1:A100");A3;INDIRECT("MAG"&{1;2;3}&"!B1:B100")))
@ valider par Ctrl+Maj+Entree
@ tirer vers le bas
@ +
 
Re : Somme par vendeur a partir de plusieurs onglets

Bonjour,

Par consolidation des données (Données/consolider) après suppression des lignes vides entre les titres de colonne et la première ligne des tableaux.


A+
 
Re : Somme par vendeur a partir de plusieurs onglets

Bonjour,

Voici un essai avec toutes les données dans la même feuille.
1 - Il y a une plage nommée (mag)
2 - Validez la formule de la feuille "TOTAL" par en appuyant simultanément sur "Ctrl" , "Maj" (flèche haut au dessu s de Ctrl et "Entrée"

Cordialement,
 

Pièces jointes

Re : Somme par vendeur a partir de plusieurs onglets

Bonjour Rachid,

super! ça marche nickel!

Maintenant comment faire si je voulais appeler les onglets differemment de mag1, etc?

EX. Cannes, Paris, Bordeaux, etc...

@+
 
Re : Somme par vendeur a partir de plusieurs onglets

Bonjour le fil, bonjour le forum,

En pièce jointe ton fichier modifié avec un bouton Récup et le code ci-dessous:

Code:
Sub Macro1()
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim o As Object 'déclare la variable o (Onglet)
Dim tot As Double 'déclare la variable tot (TOTal)


With Sheets("TOTAL") 'prend en compte l'onglet "TOTAL"
    dl = .Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée dl de la colonne 1 (=A)
    Set pl = .Range("A3:A" & dl) 'définit la plage pl
End With 'fin de la prise en compte de l'onglet "TOTAL"
For Each cel In pl 'boucle 1 : sur toutes les cellules cel de la plage pl
    tot = 0 'réinitialise tot
    For Each o In Sheets 'boucle 2 : sur tous les onglets du classeur
        If o.Name <> "TOTAL" Then 'condition : si le nom de l'onglet est différent de "TOTAL"
            On Error Resume Next 'gestion des erreurs (si une erreur est générée, passe à la ligne suivante
            tot = tot + o.Columns(1).Find(cel.Value, , xlValues, xlWhole).Offset(0, 1).Value 'définit le total tot (génère une erreur si la valeur de la cellule cel n'est pas trouvée)
            If Err <> 0 Then Err = 0: GoTo suite 'si une erreur a été générée, annule l'erreur, va à l'étiquette "suite"
        End If 'fin de la condition
suite: 'étiquette
        On Error GoTo 0 'annule la gestion des erreurs
    Next o 'prochain onglet de la boucle 2
    cel.Offset(0, 1).Value = tot 'place le total tot dans la colonne B de cel
Next cel 'prochaine cellule de la boucle 1
End Sub
Le fichier :
 

Pièces jointes

- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
23
Affichages
666
Retour