Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/10/2011, 09h31   #1
Candidat au titre de Membre du Club
 
Homme Claude Fontanille
Ingénieur sécurité
Inscription : août 2011
Messages : 38
Détails du profil
Informations personnelles :
Nom : Homme Claude Fontanille
Localisation : France, Corrèze (Limousin)

Informations professionnelles :
Activité : Ingénieur sécurité
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 38
Points : 11
Points : 11
Par défaut Masque des colonnes selon certains critères sans les filtres

Bonjour à tous,

Dans une base de donnée, je souhaiterais afficher les lignes et uniquement celle-ci ayant la valeur "Dossier" qui se trouve dans la colonne (D) (et donc masquer toutes les autres lignes) en plus je souhaiterais que la ligne numéro 99 soit également affichée sans tenir compte de la valeur de la cellule qui se trouve en D99.
Pourriez vous m'aider dans l'écriture des lignes de commandes?

D'avance merci,

Cordialement
CLAUDE19 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 09h50   #2
Membre régulier
 
Franck
Inscription : février 2008
Messages : 134
Détails du profil
Informations personnelles :
Nom : Franck
Localisation : France

Informations forums :
Inscription : février 2008
Messages : 134
Points : 89
Points : 89
Par défaut filtres

Bonjour,

Je pense que vous devriez déjà filtrer ce qui vous intéresse comme ceci :
Code :
1
2
3
4
5
6
Sub Filtre()
 
    Rows("1:1").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=4, Criteria1:="=Dossier", Operator:=xlAnd
End Sub
ensuite copier le résultat ou copier les N°s de lignes. Puis enlever les filtres et faire apparaître les N°s de lignes précédemment copiés + la ligne 99.

Cela pourrait être une idée
__________________
Pour ceux qui aiment l'art martial vietnamien, les photos du VietNam ou apprendre le Vietnamien venez visiter le site de notre asso "Noi Gia Vo Dao" :
http://ngvodao.free.fr

francky74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 10h18   #3
Membre régulier
 
Franck
Inscription : février 2008
Messages : 134
Détails du profil
Informations personnelles :
Nom : Franck
Localisation : France

Informations forums :
Inscription : février 2008
Messages : 134
Points : 89
Points : 89
Par défaut Copie du filtre

Bonjour,

Pour copier les éléments qui ont étés filtrés, je propose ceci :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
Sub Filtre()
 
    Rows("1:1").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=4, Criteria1:="=Dossier", Operator:=xlAnd
    Feuil1.AutoFilter.Range.SpecialCells(xlCellTypeVisible).Copy
 
Worksheets("Feuil2").Activate
    Range("A1").Select
    ActiveSheet.Paste
 
End Sub
Ici j'ai copié collé les lignes filtrées dans une seconde feuille mais tu peux très bien les repositonner sur la première feuille avec la ligne 99
__________________
Pour ceux qui aiment l'art martial vietnamien, les photos du VietNam ou apprendre le Vietnamien venez visiter le site de notre asso "Noi Gia Vo Dao" :
http://ngvodao.free.fr

francky74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 10h38   #4
Candidat au titre de Membre du Club
 
Homme Claude Fontanille
Ingénieur sécurité
Inscription : août 2011
Messages : 38
Détails du profil
Informations personnelles :
Nom : Homme Claude Fontanille
Localisation : France, Corrèze (Limousin)

Informations professionnelles :
Activité : Ingénieur sécurité
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 38
Points : 11
Points : 11
Bonjour

Et merci de vos réponses. Ce n'est pas exactement ce que je souhaitais. Sur une même feuille j'ai une base de donnée et je souhaite afficher ou masquer des lignes en fonction d'une valeur choisie dans les cellules de la colonne B.
Avec en plus la ligne 99 affichée systématiquement. Je ne souhaite pas passer par les filtres du menu "Données"
J'aurais donc plusieurs macros qui me feront apparaître des lignes selon une valeur choisie.
La base de données est de 99 ligne et le nombres de macro sera de 22

J'espère avoir été plus précis dans ma demande. En ce moment j'ai fait ces macros avec l'enregistreur. Mais ça me pose problème lorsque je modifie mon nombre de lignes.
CLAUDE19 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 10h51   #5
Membre Expert
 
Homme
Retraité
Inscription : avril 2011
Messages : 692
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Retraité

Informations forums :
Inscription : avril 2011
Messages : 692
Points : 1 443
Points : 1 443
Bonjour,

voici une solution pour masquer les lignes autres que celles qui contiennent "Dossier" en colonne D et autre que la ligne 99.

Code :
1
2
3
4
5
6
7
8
9
10
Option Explicit
Sub Masquer()
Dim ws As Worksheet
Dim DerLig As Long, i As Long
    Set ws = ThisWorkbook.ActiveSheet
    DerLig = ws.UsedRange.Rows.Count
    For i = 1 To DerLig
        If ws.Range("D" & i) <> "Dossier" And i <> 99 Then ws.Range("D" & i).EntireRow.Hidden = True
    Next i
End Sub
Cordialement.
gFZT82 est actuellement connecté   Envoyer un message privé Réponse avec citation 20
Vieux 26/10/2011, 17h23   #6
Candidat au titre de Membre du Club
 
Homme Claude Fontanille
Ingénieur sécurité
Inscription : août 2011
Messages : 38
Détails du profil
Informations personnelles :
Nom : Homme Claude Fontanille
Localisation : France, Corrèze (Limousin)

Informations professionnelles :
Activité : Ingénieur sécurité
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 38
Points : 11
Points : 11
Par défaut Masque des colonnes selon certains critères sans les filtres

Bonjour

Et merci, c'est exactement cela.

Cordialement
CLAUDE19 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h47.


 
 
 
 
Partenaires

Hébergement Web