compilation plusieurs lignes sur synthèse

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

A

abernagout

Guest
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

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+
 
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.
 
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

Dernière édition:
- 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
5
Affichages
701
P
Réponses
3
Affichages
752
punk_sportif
P
P
Réponses
16
Affichages
3 K
Réponses
15
Affichages
3 K
Membre supprimé 341069
M
Retour