begin process at 2012 02 17 11:25:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

General

 > 

Macro Excel - Filtre élaboré et mise en forme contionnelle


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Macro Excel - Filtre élaboré et mise en forme contionnelle

jeudi 9 juillet 2009 à 12:06:07 | Macro Excel - Filtre élaboré et mise en forme contionnelle

John1tm

Bonjour,
Voici le sujet que je cherche a développer.
J'ai une base de données, j'ai des macros filtres élaborés qui permettent d'extraire sur un autre onglet certaines lignes de cette BdD selon 3 critères (par ex "oui", "non", "SO") et les lignes ainsi extraites sont mises en formes automatiquement selon ces 3 mêmes critères, par exemple une couleur par critère.
La mise en forme automatique est faite sur la feuille excel et non déterminée par une macro.
Du coup le nombre de lignes exportés varient selon le critère, il peut par exemple y avoir 20 lignes pour "SO" et seulement 5 pour "oui" et dans ce cas la mise en forme auto fait que toutes les lignes vides du tableau qui ont été remplies précédemment ont une mise en forme (genre fond bleu) et du coup à l'impression je vais avoir des pages avec des lignes bleues mais vides.

Par exemple je clique sur le filtre "oui" il m'exporte 20 lignes mises en forme etc..., je clique sur "non" il m'exporte les 5 lignes correspondant au critères "non" et les 15 lignes suivantes redeviennent vides (elles sont effacées) mais il reste les bordures de cellules et le fond coloré.

Je cherche à supprimer ce reliquat de mise en forme et de n'avoir qu'un tableau avec des lignes réellement rempli.

Merci à vous
John

Voici le code servant à l'export par filtre élaboré :

Range("A2").Select
    ActiveCell.FormulaR1C1 = "Non"
   
    Range("A6").Select
    ActiveCell.FormulaR1C1 = "a"
    Range("A5").Select
    Range("BdD").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
        "A1:A2"), CopyToRange:=Range("A5:I5"), Unique:=False
Columns("E:E").Select
    With Selection
        .WrapText = True
        .Orientation = 0
        .AddIndent = False
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
   
    ActiveSheet.PageSetup.PrintArea = ""
    With ActiveSheet.PageSetup
        .CenterHeader = "&""Arial,Gras""&16Titre du dossier - filtre "Non""
    End With
    Range("B1").Select
End Sub
jeudi 9 juillet 2009 à 23:50:55 | Re : Macro Excel - Filtre élaboré et mise en forme contionnelle

fngoagouni

Pourquoi tu n'effaces pas tout simplement le contenu de toutes les cellules de ta zone de destination avant de copier le résultat du filtre ?

Un truc du genre

Range("Rubriques!A5:I500").Select
Selection.Clear



Cette discussion est classée dans : lignes, select, filtre, forme, range


Répondre à ce message

Sujets en rapport avec ce message

Tri dans un tableau à position et taille variables [ par dingur ] Bonjour ! J'ai un bout de macro qui me permet de générer un tableau à partir des premières lignes d'une feuille, elles-même récupérées par ailleurs. [Catégorie modifiée VB6 -> VBA] Transfert de lignes selon un critère défini vers une autre feuille excel dans le même classeur [ par saf3 ] Bonjour. voilà,j'ai utilisé une macro qui transfert des lignes contenant des données de types différents vers une autre feuille "excel". Mais ma ma [Catégorie encore modifiée VB6 -> VBA] copie d'une cellule [ par ricouth ] Bonjour Je voudrais copier dans un tableau recapitulatif le resulat de plusieurs cellules qui se trouvent aux meme endroit sur plusieurs feuille Je n Besoin de renseignements [ par maxxx08 ] Bonjour tout le monde je vais essayer par le biais de ce message de vous exposer mon problème. je travaille sur un fichier excel comportant un certai COMMENT REDUIRE LA TAILLE DE MA MACRO? [ par simonbaron ] Bonjour, J'ai crée une macro pour récuperer des données à partir de plusieurs onglets dans un fichier et les coller dans un tableau (onglet "REGISTRE Ne pas exécuter la macro si une des cellules est vide [ par Tropique ] Bonjour à tous, j'espère déjà poster dans le bon endroit. Je vous explique, j'ai créé une macro suite un a formulaire de saisie sur excel, je dois re décalage automatique macro [ par gradzila ] Bonjour, Voilà j'ai une question qui va vous paraître idiote mais je n'arrive pas à faire ce truc qui à mon avis doit être tout simple. Prenons c'es sheets(). name [ par maxxx08 ] Bonjour tout le monde, Grace à l'enregistreur de macro j'ai pu récupérer ces lignes de code pour creer un graphique et le placer dans une nouvelle fe Fonction .find, filtres, et copié collé [ par tomtom4456 ] Bonjour à vous, Je suis actuellement entrain de développer une macro assez complexe, j'ai cherché partout sur internet et sur ce forum la solution à m range.select [ par anisometropie ] bonjour, ce code me renvoie une erreur 1004 : La méthode Select de la classe Range a échoué. mais je ne comprend pas du tout pourquoi. [code=vb]Workb


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales