Récapitulation sélective de lignes

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

Z

ZEZEZE

Guest
Bonjour à tous,

(je n'ai pas trouvé de meilleur titre)


J'ai plusieurs onglets avec des références distinctes. A chaque référence, je peux lui attribuer une quantité de commande.
Je voudrai en résultat, 1 seul onglet Réacp qui ne ferait apparître seulement les lignes de références contenant une quantité à commander.
Je précise que je voudrai cela en automatique et ne pas passer par un tri sur le champ commande puis suppresion de lignes...

Merci à vous
Pierre
 

Pièces jointes

Dernière modification par un modérateur:
Re : Récapitulation sélective de lignes

Bonjour ZEZEZE & Staple1600,
Bonjour à toutes et à tous.

Un essai avec un Tableau Croisé Dynamique, dans l'espoir qu'il conviendra au problème.

A vous lire et bon courage.

Cordialement.

BCharef
 

Pièces jointes

Re : Récapitulation sélective de lignes

Bonjour à tous.
Un essai avec ce code :
Code:
[COLOR="DarkSlateGray"][B]Sub toto()
Dim i&, j&, k&
Dim oDat, oRcp, oFeuil, nRcp&, nCol&
   nCol = 2
   ReDim oRcp(1 To nCol, 1 To 1)
   oFeuil = Array("onglet récap", "1er onglet", "2ème onglet")
   For k = 1 To UBound(oFeuil)
      With Worksheets(oFeuil(k))
         oDat = .Range(.Cells(5, 1), .Cells(.Rows.Count, 1).End(xlUp).Offset(0, nCol - 1)).Value
      End With
      For i = 3 To UBound(oDat, 1)
         If Not IsEmpty(oDat(i, 2)) Then
            nRcp = nRcp + 1
            ReDim Preserve oRcp(1 To nCol, 1 To nRcp)
            For j = 1 To nCol
               oRcp(j, nRcp) = oDat(i, j)
            Next j
         End If
      Next i
   Next k
   With Worksheets(oFeuil(0))
      .Range(.Cells(5, 1), .Cells(.Rows.Count, 1).End(xlUp).Offset(0, nCol - 1)).Offset(1, 0).ClearContents
      .Cells(7, 1).Resize(UBound(oRcp, 2), nCol).Value = WorksheetFunction.Transpose(oRcp)
   End With
End Sub[/B][/COLOR]
Voyez la mise en œuvre dans le classeur joint (bouton RECAP dans la feuille onglet récap).​
ROGER2327
#3378


12 Floréal An CCXVIII
2010-W17-6T14:10:21Z
 

Pièces jointes

Re : Récapitulation sélective de lignes

Bonjour à tous

Un autre essai (avec l'emploi du Filtre élaboré)


Code:
Sub a()
Dim i&, rf As Range
Application.ScreenUpdating = False
Sheets(3).Rows("2:500").Delete
For i = 1 To 2
    With Sheets(i)
        .[C2].Formula = "=B2<>"""""
        .Range("A1:B" & .[A65536].End(xlUp).Row).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=.[C1:C2]
        Set rf = .Range("_FilterDataBase")
        rf.Offset(1, 0).Resize(rf.Rows.Count - 1).SpecialCells(12).Copy Sheets(3).[A65536].End(xlUp)(2)
        .ShowAllData
        .[C2] = ""
    End With
Next i
Application.ScreenUpdating = True
End Sub
A tester sur un classeur avec 3 feuilles
Feuille1: le premier tableau (sans ligne vide entre les entêtes et les données
Feuille2: le second tableau (sans ligne vide entre les entêtes et les données)
Feuille3: en A1: Référence, en B1: Quantité
 
Dernière édition:
Re : Récapitulation sélective de lignes

merci de ta réponse mais:

j'aime bien les tableaux dynamiques, mais je ne voudrais pas faire apparaître les références s'il n'y a pas en regard de quantité servie.


Bonjour ZEZEZE & Staple1600,
Bonjour à toutes et à tous.

Un essai avec un Tableau Croisé Dynamique, dans l'espoir qu'il conviendra au problème.

A vous lire et bon courage.

Cordialement.

BCharef
 
Re : Récapitulation sélective de lignes

Merci ROGER2327.
La macro donne bien le résultat attendu, mais mon exemple n'est .. qu'un exemple. Ainsi j'ai plusieurs onglets et dans chaque onglet plusieurs colonnes; je ne me sens pas en mesure d'adapter la macro à mon besoin.
Pierre



Bonjour à tous.
Un essai avec ce code :
Code:
[COLOR="DarkSlateGray"][B]Sub toto()
Dim i&, j&, k&
Dim oDat, oRcp, oFeuil, nRcp&, nCol&
   nCol = 2
   ReDim oRcp(1 To nCol, 1 To 1)
   oFeuil = Array("onglet récap", "1er onglet", "2ème onglet")
   For k = 1 To UBound(oFeuil)
      With Worksheets(oFeuil(k))
         oDat = .Range(.Cells(5, 1), .Cells(.Rows.Count, 1).End(xlUp).Offset(0, nCol - 1)).Value
      End With
      For i = 3 To UBound(oDat, 1)
         If Not IsEmpty(oDat(i, 2)) Then
            nRcp = nRcp + 1
            ReDim Preserve oRcp(1 To nCol, 1 To nRcp)
            For j = 1 To nCol
               oRcp(j, nRcp) = oDat(i, j)
            Next j
         End If
      Next i
   Next k
   With Worksheets(oFeuil(0))
      .Range(.Cells(5, 1), .Cells(.Rows.Count, 1).End(xlUp).Offset(0, nCol - 1)).Offset(1, 0).ClearContents
      .Cells(7, 1).Resize(UBound(oRcp, 2), nCol).Value = WorksheetFunction.Transpose(oRcp)
   End With
End Sub[/B][/COLOR]
Voyez la mise en œuvre dans le classeur joint (bouton RECAP dans la feuille onglet récap).​
ROGER2327
#3378


12 Floréal An CCXVIII
2010-W17-6T14:10:21Z
 
Re : Récapitulation sélective de lignes

Re bonjour ZEZEZE, Staple1600 & david84
Salut Roger
Re Bonjour à toutes et à tous.

Un autre essai avec un Tableau Croisé Dynamique, dans l'espoir qu'il conviendra au problème.

A vous lire et bon courage.

Cordialement.

BCharef
 

Pièces jointes

Re : Récapitulation sélective de lignes

RE


ZEZEZE: il suffisait de copier/coller le code VBA dans un classeur respectant les spécificités décrites dans ce précédent message.

Mais peut-être es-tu débutant en VBA ?



PS: désormais je ne joins plus aucun fichier Excel dans mes messages
(juste du code VBA, des liens, ou des copies d'écran)
 
- 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

F
  • Question Question
Réponses
0
Affichages
1 K
F
P
Réponses
0
Affichages
838
pin_electronic
P
R
Réponses
0
Affichages
692
Rochdi92
R
A
Réponses
5
Affichages
3 K
AnnONyme
A
A
Réponses
0
Affichages
8 K
Arpopa
A
J
Réponses
19
Affichages
2 K
JBond13600
J
A
Réponses
0
Affichages
915
Arnaud.hoarau
A
S
Réponses
0
Affichages
2 K
SOCAF
S
Retour