Affichage données avec macro Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
B
Bisses
Membre fidèle
Membre fidèle
Messages : 219
Inscrit le : 24 septembre 2012
Version d'Excel : 2016 FR

Message par Bisses » 9 mars 2015, 16:24

Bonjour,
Ma macro ne fonctionne encore pas comme je voudrais.
Voici en attaché le fichier Excel et l'explication ci-dessous de ce que voudrais obtenir à l'aide des macros.
J'ai une feuille "STOCK" qui est la base de donnée (A à H = données). Puis une autre feuille "LISTE A AFFICHER" qui est destinée à être imprimée et doit donc afficher les données de la feuille STOCK ainsi que toutes les modifications que j'apporte en feuille stock.
Si j'entre des données en "STOCK" H59, H60, H61 ça fonctionne et la LISTE A AFFICHER prend en compte ces données. Je dois pour cela cliquer sur les raccourcis macro "Tri numérique ou Tri alphabétique" de la feuille LISTE A AFFICHER. Par contre, si j'entre une donnée (feuille STOCK) en A396, par exemple "403" puis en B396 "Auteur 392" enfin en H396 "7", ces données n'apparaissent pas en feuille LISTE A AFFICHER. Il faudrait aussi que les macros décochent la valeur "zéro" (feuille LISTE A AFFICHER, colonne "E") afin que le valeurs nulles n'apparaissent pas.
Pour résumer le tout, il faudrait que toutes les modifications en feuille STOCK, plage A5 à H495, apparaissent (sans les valeurs zéros) dans la feuille LISTE A AFFICHER et si possible que la zone d'impression de ce qui est affiché se fasse automatiquement.
Merci de vous pencher sur mon souci.
Classeur1.xlsm
(234.25 Kio) Téléchargé 10 fois
Avec mes remerciements

Bisses
Avatar du membre
ddetp88
Membre impliqué
Membre impliqué
Messages : 1'354
Appréciations reçues : 42
Inscrit le : 5 janvier 2015
Version d'Excel : 2016

Message par ddetp88 » 9 mars 2015, 20:55

Bonjour,

Fichier/option/option avancées

Thème: Afficher les options pour cette feuille de calcul
Décocher l'option: Afficher un zéro dans les cellules qui ont une valeur nulle.

Est-ce cela peut t'aider?

Ton exemple en retour

Cordialement

Bisses a écrit : et si possible que la zone d'impression de ce qui est affiché se fasse automatiquement.
Il faudrait préciser ta demande. Je ne comprends pas ce que tu veux dire.

Cordialement
Classeur1.xlsm
(244.14 Kio) Téléchargé 7 fois
Celui qui n’a pas affronté l’adversité ne connaît pas sa propre force (Benjamin Jonson)
B
Bisses
Membre fidèle
Membre fidèle
Messages : 219
Inscrit le : 24 septembre 2012
Version d'Excel : 2016 FR

Message par Bisses » 10 mars 2015, 07:32

la feuille "LISTE A AFFICHER" est destinée à être imprimée et ce qui s'affiche sur cette feuille dépend des données de la feuille "STOCK". Je voudrais que lorsque il y a des ajout ou suppressions de données en feuille "STOCK", la zone d'impression de la feuille "LISTE A AFFICHER" prenne en compte ces changements afin d'éviter de passer par > mise en page > définir la zone d'impression etc. En résumé : que tout ce qui s'affiche sur la feuille "LISTE A AFFICHER" soit imprimé automatiquement ...
Avec mes remerciements

Bisses
Avatar du membre
ddetp88
Membre impliqué
Membre impliqué
Messages : 1'354
Appréciations reçues : 42
Inscrit le : 5 janvier 2015
Version d'Excel : 2016

Message par ddetp88 » 10 mars 2015, 19:29

Bonsoir,

J'ai mis ce code dans la feuille liste à afficher.
La macro se déclenche quand on selectionne la feuille.
Option Explicit

Private Sub Worksheet_Activate()
Dim Ln As Integer
Dim ZoneImp As Variant
Ln = Range("C" & Rows.Count).End(xlUp).Row 'n° de la dernière ligne non vide de la colonne C
ZoneImp = Range(Cells(1, "B"), Cells(Ln, "G")).Address
    ActiveSheet.PageSetup.PrintArea = ZoneImp

    With ActiveSheet.PageSetup
        .PrintTitleRows = "$5:$6"
    End With
End Sub
On peut déclencher cette macro par d'autres moyens. J'ai choisi celui-ci en pensant qu'il pouvait satisfaire.

Le fichier en téléchargement

Cordialement
ddetp Classeur1.xlsm
(246.24 Kio) Téléchargé 12 fois
Celui qui n’a pas affronté l’adversité ne connaît pas sa propre force (Benjamin Jonson)
B
Bisses
Membre fidèle
Membre fidèle
Messages : 219
Inscrit le : 24 septembre 2012
Version d'Excel : 2016 FR

Message par Bisses » 11 mars 2015, 15:52

Ah parfait cette macro!, en plus elle se déclenche automatiquement à la sélection de la feuille et il me reste juste à choisir le tri numérique ou alphabétique et tout fonctionne à merveille .... mais ... tout marche sur sur ton fichier (ddetp Classeur1).
Il me reste donc à passer ta macro sur le fichier original qui est le même que celui joint mais avec d'autres données (je n'ai pas joins l'original par discrétion pour les auteurs du fichier).
J'ai donc copié ta macro puis en ai créé une vide sur laquelle j'ai copié tes données mais impossible de trouver sa trace dans mon fichier. Les autres macros ont des noms, sont visibles, modifiables etc mais pas de trace de la tienne.
En résumé, comment faire pour copier ta macro dans un autre fichier puis la faire agir ta macro dans ce fichier?
Encore merci
Je viens de m'apercevoir que lorsque des données de la feuille "STOCK" en colonne "H" sont effacées, la feuille "LISTE A AFFICHER" reporte cela et affiche les "zéro". Est-il possible que les zéros n'apparaissent jamais? En fait il ne faut pas que les valeurs nulles figurent sur la liste sauf si je les sélectionne manuellement avec le filtre.
Avec mes remerciements

Bisses
Avatar du membre
ddetp88
Membre impliqué
Membre impliqué
Messages : 1'354
Appréciations reçues : 42
Inscrit le : 5 janvier 2015
Version d'Excel : 2016

Message par ddetp88 » 11 mars 2015, 16:48

Le principe de cette macro est qu'elle se déclenche a l'activation de la feuille.
Donc tu peux la copier dans les feuilles de ton projet original, elle devrait fonctionner. Sous réserve tout de même que pour les autres feuilles, les colonnes soient adaptées.
ddetp88 a écrit :Je viens de m'apercevoir que lorsque des données de la feuille "STOCK" en colonne "H" sont effacées, la feuille "LISTE A AFFICHER" reporte cela et affiche les "zéro". Est-il possible que les zéros n'apparaissent jamais? En fait il ne faut pas que les valeurs nulles figurent sur la liste sauf si je les sélectionne manuellement avec le filtre.
Ce que tu voudrais c'est un filtre automatique ou bien que les lignes soient masquées ou encore que les lignes soient affichées mais que les zéros n'apparaissent plus?
Celui qui n’a pas affronté l’adversité ne connaît pas sa propre force (Benjamin Jonson)
B
Bisses
Membre fidèle
Membre fidèle
Messages : 219
Inscrit le : 24 septembre 2012
Version d'Excel : 2016 FR

Message par Bisses » 11 mars 2015, 17:02

En fait que toutes les valeurs 0 ne soient pas affichées y compris ce qui apparaitrait en C si la valeur était zéro.
En résumé : lorsqu'il n'y a rien (ou zéro) en colonne H de la feuille "STOCK", ça ne doit pas apparaitre dans "LISTE A AFFICHER". Dans la "LISTE A AFFICHER" il me faut que les valeurs positives (1 à 1000)
Avec mes remerciements

Bisses
Avatar du membre
ddetp88
Membre impliqué
Membre impliqué
Messages : 1'354
Appréciations reçues : 42
Inscrit le : 5 janvier 2015
Version d'Excel : 2016

Message par ddetp88 » 11 mars 2015, 22:48

J'ai fait un peu de ménage et mis un filtre automatique dans la macro de la feuille.
Par ailleurs dans le thisworkbook, j'ai mis un code de pour protéger les feuilles pour que le filrage et les tris ne soient pas gênés.

Bonne suite

ddetp88
ddetp Classeur1.xlsm
(270.31 Kio) Téléchargé 17 fois
Celui qui n’a pas affronté l’adversité ne connaît pas sa propre force (Benjamin Jonson)
B
Bisses
Membre fidèle
Membre fidèle
Messages : 219
Inscrit le : 24 septembre 2012
Version d'Excel : 2016 FR

Message par Bisses » 12 mars 2015, 11:54

Merci beaucoup ddetp88,
J'ai pu placer ta macro dans le fichier original et ça marche bien au niveau du tri alphabétique et numérique.
Sans vouloir abuser de ton temps, je voudrais te signaler 3 petits problèmes.
Voici donc les messages d'erreur :
1. Lorsque j'actionne les macros "Alphabétique & Numérique, voici le message :
Macro_mess_erreur.jpg
Macro_mess_erreur.jpg (82.89 Kio) Vu 231 fois
Puis ça :
Macro_mess_erreur4.jpg
Comme je connais mal le VBA, je préfère ne pas intervenir dans ta macro.

2. Afin d'indiquer le tri num. ou alph., est-il possible d'ajouter ça aux macros? :
Range("B6").Select
Cells(5, 3) = "Liste alphabétique" et
Range("B6").Select
Cells(5, 3) = "Liste numérique"
Et où placer ces lignes dans la macro?

3. En feuille "LISTE A AFFICHER", il faudrait que la ligne de titre (6) apparaisse seulement en page une
Avec mes remerciements

Bisses
Avatar du membre
ddetp88
Membre impliqué
Membre impliqué
Messages : 1'354
Appréciations reçues : 42
Inscrit le : 5 janvier 2015
Version d'Excel : 2016

Message par ddetp88 » 12 mars 2015, 13:47

Bonjour Bisses,

Relis ma précédente réponse.
Il faut passer de l'exemple à ton projet certains codes.
Du ThisWorkbook et du module nommé tri.

Tiens moi au courant.

ddetp88
Celui qui n’a pas affronté l’adversité ne connaît pas sa propre force (Benjamin Jonson)
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message