Macro synthese

Annette

XLDnaute Occasionnel
Bonsoir le forum,

Je reviens vers vous pour obtenir de l'aide pour une macro (je suis un peu plus douée pour les formules :)).

Je souhaite par le biais d'une macro, récupérer les données par condition de 31 onglets nommés.
ceci afin d'alléger mon classeur car les formules l'allourdissent drôlement.
En souhaitant avoir été claire.

Si une bonne âme pouvait me proposer une solution :rolleyes:.

Merci pour votre aide.

Cordialement
 

Pièces jointes

  • EssaiAnnette.xlsm
    13.4 KB · Affichages: 35
  • EssaiAnnette.xlsm
    13.4 KB · Affichages: 34
  • EssaiAnnette.xlsm
    13.4 KB · Affichages: 36

Staple1600

XLDnaute Barbatruc
Re : Macro synthese

Bonjour à tous

Annette
Cette macro fut testée sur le fichier joint dans ta discussion au message #5.
Et le test s'est révélé positif ;)
Or
De plus, pour agrémenter la chose, j'ai omis de dire que dans chaque onglet concerné, les tableaux de données sont espacés (empilés avec d'autres données entre) et certaines colonnes contiennent des formules protégées:rolleyes:.
Je pense que ceci peut expliquer cela.
Surement...:rolleyes:

Mais si tu changes les règles du jeu en cours de partie et que ta question devient une question à tiroirs, il est normal que cela fonctionne moins bien...
 
Dernière édition:

Annette

XLDnaute Occasionnel
Re : Macro synthese

Staple1600,

Vous avez raison, je ne pensais pas qu'il y aurait une incidence et je reproduis ici tout ce que je n'aime pas voir ailleurs (à savoir ne pas avoir tous les éléments en main pour agir au mieux et au plus vite).

Je vais me fouetter et je reviens ;).

Cordialement
 

Annette

XLDnaute Occasionnel
Re : Macro synthese

Bonsoir le forum,

Suite à mon manque d'informations pour résoudre mon problème, je me permets de refaire une demande avec un classeur exemple plus détaillé.
Je bloque au niveau de la macro pour faire un filtre sur les onglets de 01 à 31 des lignes 11 à 379.

Un petit coup de pouce ?

Merci d'avance.
Cordialement
 

Staple1600

XLDnaute Barbatruc
Re : Macro synthese

Bonsoir à tous

Annette
Pas vu de nouveau classeur plus détaillé joint dans le fil.
Et finalement tu reviens au filtre ;)
Tu as changé d'avis, on dirait ;)
2) Je trouve bizarre qu'un langage aussi puissant que VB doive poser des filtres sur tableaux des onglets concernés afin de récupérer des données de tel ou tel article.
 

Annette

XLDnaute Occasionnel
Re : Macro synthese

Désolée pour la pièce jointe...

Non je n'ai pas changé d'avis, ma demande doit probablement être mal formulée (une fois de plus) :confused:.
Je souhaite simplement arriver à faire en sorte que votre super macro fonctionne avec mes nouveaux paramètres.

Merci pour votre aide.
Cordialement
 

Pièces jointes

  • Copie de EssaiAnnette.xlsm
    37.6 KB · Affichages: 37
  • Copie de EssaiAnnette.xlsm
    37.6 KB · Affichages: 42
  • Copie de EssaiAnnette.xlsm
    37.6 KB · Affichages: 42

Staple1600

XLDnaute Barbatruc
Re : Macro synthese

Re

Annette
En R2, je mettrai plutôt cette formule-ci
Code:
=SOMME(B5:W10000)

a) Ensuite, le code fonctionne si les feuilles ne sont pas protégées, donc...

b) Pourquoi ces lignes vides entre tes tableaux ?
Puisque les entêtes sont les même qu'en ligne 11, il suffit de mettre les données à la suite et à veiller qu'il n'y pas de lignes vides.

Quand ces conditions sont réunies, le code fonctionne.

Donc pourquoi se compliquer la vie ?

NB: Excel a horreur du vide.
Si on utilise une feuille comme une base de données, la régle c'est:
Ligne d'entête en ligne 1
un enregistrement= une ligne
pas de lignes vides
un zéro pour les cellules vides

Voir ici (par exemple) pour les détails
Lettre Optim'Gestion / Planète Performance
Voir aussi ceci
Concepts de base sur la conception d'une base de données - Access

PS: On trouvera de nombreux autres conseils similaires en cherchant sur G°°.l.e ;)
Je crois aussi avoir vu un fil ou deux sur le forum qui dispensent ces même conseils.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Macro synthese

Suite précédent message

Je reposte le code VBA, légèrement modifié
(Car un léger souci constaté avec l'ancien)
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
'version du 25/10/2014
Dim ws As Worksheet, dl&, vArr, i As Byte
If Target.Address = "$I$2" Then
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    ActiveSheet.Range("B5:W500").ClearContents
    For Each ws In Worksheets
    If Len(ws.Name) = 2 Then
    dl = ws.Cells(Rows.Count, "I").End(3).Row
    vArr = ws.Range("I11:I" & dl).Value
    For i = LBound(vArr) To UBound(vArr)
        With Sheets("Synthese")
        If vArr(i, 1) = .[I2] Then
            .Cells(.Cells(Rows.Count, "I").End(3)(2).Row, "B").Resize(, 22).Value = _
            ws.Cells(10 + i, "B").Resize(, 22).Value
        End If
        End With
    Next
    Erase vArr
    End If
    Next
    Application.ScreenUpdating = True
    Application.EnableEvents = True
End If
End Sub
 

Annette

XLDnaute Occasionnel
Re : Macro synthese

Staple1600,

J'ai tenté de vous envoyer un MP pour avoir plus de détails mais sans succès.

a) Le code fonctionne parfaitement avec ou sans protection mais je dois protéger mes feuilles.
b) Je ne peux mettre les données les unes à la suite des autres d'où lignes vides ou pleines entre chaque tableau de données.

Je tente au contraire de me simplifier la vie car sinon j'ai ma solution par formule qui pèse très lourd sur le classeur.

Merci pour votre aide.
Cordialement
 

Staple1600

XLDnaute Barbatruc
Re : Macro synthese

Bonjour à tous

Annette
Cette histoire de tableaux entrecoupés de lignes vides complique la tâche, et c'est jamais bon de commencer un dimanche par les complications.

Voici par exemple un code qui fonctionne pour des tableaux simples
Code:
Sub CompterLesTableauxEtAfficherLeurAdresse()
Dim i%, r As Range, Mess$
Set r = ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants, 2)
For i = 1 To r.Areas.Count
Mess = Mess & r.Areas(i).CurrentRegion.Address & Chr(13)
Next
MsgBox Mess, vbInformation, "AreaCount: " & r.Areas.Count
End Sub

Mais si jamais il y a des cellules vides ou des formules dans les tableaux, déjà les choses se compliquent...

Et surtout cela compliquera l'évolution de la précédente macro.
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
482

Statistiques des forums

Discussions
312 198
Messages
2 086 119
Membres
103 124
dernier inscrit
Antoine Vdm