compilation plusieurs lignes sur synthèse

abernagout

XLDnaute Nouveau
Bonjour à tous,

Je cherche à compiler plusieurs lignes de différents onglets dans un seul onglet "globale".
Je vous joins le fichier.

Il s'agit d'un fichier dans lequel on renseigne le matériel dont on a besoin, et le but étant d'avoir une compilation des lignes dans laquel la quantité est différente de 0, pour avoir un visuel sur le dernier onglet "globale".

Je suis tout nouveau sur le forum et VBA n'est pas du tout mon ami.

Je suis ouvert à toute solution.

Merci d'avance,

abernagout
 

Pièces jointes

  • Classeur2.xls
    149.5 KB · Affichages: 48
  • Classeur2.xls
    149.5 KB · Affichages: 37
  • Classeur2.xls
    149.5 KB · Affichages: 36

job75

XLDnaute Barbatruc
Re : compilation plusieurs lignes sur synthèse

Bonjour abernagout, bienvenue sur XLD, salut aspe,

A priori dans les divers onglets les clients peuvent être différents, non ?

En faire une synthèse "globale" n'est-ce pas additionner des choux et des carottes ???

A+
 

aspe

XLDnaute Junior
Re : compilation plusieurs lignes sur synthèse

re le fil,

A savoir si on veut un résultat sur le produit ou le détail par client ? d'après la demande, je l'ai compris comme un total par article pour connaitre les besoins matériels.
 

job75

XLDnaute Barbatruc
Re : compilation plusieurs lignes sur synthèse

Re,

S'il faut globaliser, globalisons, avec dans le code de la feuille "Globale" :

Code:
Private Sub Worksheet_Activate()
Dim lig&, w As Worksheet, P As Range, derlig&
Application.ScreenUpdating = False
Rows("10:" & Rows.Count).Delete 'RAZ
lig = 10
For Each w In Worksheets
  If w.Name <> Me.Name Then
    Set P = Intersect(w.Rows("10:" & Rows.Count), w.UsedRange.EntireRow)
    If Not P Is Nothing Then
      P.Copy Cells(lig, 1)
      lig = lig + P.Rows.Count
    End If
  End If
Next
derlig = Cells.Find("*", , xlValues, , xlByRows, xlPrevious).Row
If derlig > 11 Then
  Set P = Range("D10", Cells(derlig - 2, 4))
  On Error Resume Next 'au cas improbable où aucune cellule n'est vide
  P.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
  P.EntireRow.Sort P, xlAscending, Header:=xlNo 'tri facultatif
End If
End Sub
La macro s'exécute quand on active la feuille.

Fichier joint.

A+
 

Pièces jointes

  • Globale(1).xls
    157.5 KB · Affichages: 28
Dernière édition:

Discussions similaires

Statistiques des forums

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