Extraire du'ne feuille les lignes dont deux colonnes contiennent les données de
1 réponse
max
Bonjour
Merci d'essayer de m'aider,=20
Mes donn=E9es se pr=E9sentent sur 4 colonnes en feuille A
=20
TOTO et TUTU sont deux occurrences distinctes, se trouvant=20
toujours dans la colonne 2 pour TUTU et 4 pour TOTO.
Je veux copier toute la ligne qui contiendra soit TUTU=20
soit TOTO et celle qui forcement contiendra TUTU et TOTO.
J'aimerais que ces donn=E9es soit copi=E9es automatiquement=20
dans une feuille du m=EAme classeur et dans un classeur=20
diff=E9rent.=20
=20
Merci de votre coup de main.
=20
Cordialement
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour Max,
Essaie ceci : adapte le nom des feuilles selon ton application.
À copier dans un module standard
La première ligne de la feuille destination (où seront copiées les données est réservée aux étiquettes de colonnes.
Pour les fins de l'exercice, la zone de critère retenue est : Range("F1:G3")
Voici comment l'organiser : F1 G1 Étiquette NomChampCol2 NomChampCol4 Critère Toto Critère Tutu
Les 2 critères doivent être saisi sur une ligne différente.
'------------------------------------- Sub CopierAilleurs()
'Déclaration des variables. Dim Rg As Range, Rg1 As Range, Dest As Range
'Empêche le rafraîchessement de l'écran Application.ScreenUpdating = False
'Feuille ou le filtre automatique s'exécute With Worksheets("Feuil2") 'Nom de la feuille à déterminer 'Détermine l'étendue de la plage à filtrer Set Rg = .Range("A1:D" & .Range("A65536").End(xlUp).Row)
'Utilisation du filtre élaboré Rg.AdvancedFilter Action:=xlFilterInPlace, _ CriteriaRange:=.Range("F1:G3"), Unique:úlse
'plage à copier sans la ligne d'étiquette Set Rg1 = Rg.Offset(1).Resize(Rg.Rows.Count - 1, _ Rg.Columns.Count).SpecialCells(xlCellTypeVisible) End With
'Déterminer où la copie prendra place 'sur la feuiile de destination With Worksheets("Feuil3") ''Nom de la feuille à déterminer Set Dest = .Range("A" & .Range("A65536").End(xlUp)(2).Row) End With
'copie des données : Rg1.Copy Dest
'Libération de la mémoire : Set Rg = Nothing: Set Rg1 = Nothing: Set Dest = Nothing End Sub '-------------------------------------
Salutations!
"max" a écrit dans le message de news:363301c37474$402068c0$ Bonjour
Merci d'essayer de m'aider,
Mes données se présentent sur 4 colonnes en feuille A
TOTO et TUTU sont deux occurrences distinctes, se trouvant toujours dans la colonne 2 pour TUTU et 4 pour TOTO.
Je veux copier toute la ligne qui contiendra soit TUTU soit TOTO et celle qui forcement contiendra TUTU et TOTO.
J'aimerais que ces données soit copiées automatiquement dans une feuille du même classeur et dans un classeur différent.
Merci de votre coup de main.
Cordialement
Max
Max
"
Bonjour Max,
Essaie ceci : adapte le nom des feuilles selon ton application.
À copier dans un module standard
La première ligne de la feuille destination (où seront copiées
les données est réservée aux étiquettes de colonnes.
Pour les fins de l'exercice, la zone de critère retenue est : Range("F1:G3")
Voici comment l'organiser :
F1 G1
Étiquette NomChampCol2 NomChampCol4
Critère Toto
Critère Tutu
Les 2 critères doivent être saisi sur une ligne différente.
'-------------------------------------
Sub CopierAilleurs()
'Déclaration des variables.
Dim Rg As Range, Rg1 As Range, Dest As Range
'Empêche le rafraîchessement de l'écran
Application.ScreenUpdating = False
'Feuille ou le filtre automatique s'exécute
With Worksheets("Feuil2") 'Nom de la feuille à déterminer
'Détermine l'étendue de la plage à filtrer
Set Rg = .Range("A1:D" & .Range("A65536").End(xlUp).Row)
'Utilisation du filtre élaboré
Rg.AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=.Range("F1:G3"), Unique:úlse
'plage à copier sans la ligne d'étiquette
Set Rg1 = Rg.Offset(1).Resize(Rg.Rows.Count - 1, _
Rg.Columns.Count).SpecialCells(xlCellTypeVisible)
End With
'Déterminer où la copie prendra place
'sur la feuiile de destination
With Worksheets("Feuil3") ''Nom de la feuille à déterminer
Set Dest = .Range("A" & .Range("A65536").End(xlUp)(2).Row)
End With
'copie des données :
Rg1.Copy Dest
'Libération de la mémoire :
Set Rg = Nothing: Set Rg1 = Nothing: Set Dest = Nothing
End Sub
'-------------------------------------
Salutations!
"max" <aigle.21@free.fr> a écrit dans le message de news:363301c37474$402068c0$a401280a@phx.gbl...
Bonjour
Merci d'essayer de m'aider,
Mes données se présentent sur 4 colonnes en feuille A
TOTO et TUTU sont deux occurrences distinctes, se trouvant
toujours dans la colonne 2 pour TUTU et 4 pour TOTO.
Je veux copier toute la ligne qui contiendra soit TUTU
soit TOTO et celle qui forcement contiendra TUTU et TOTO.
J'aimerais que ces données soit copiées automatiquement
dans une feuille du même classeur et dans un classeur
différent.
Essaie ceci : adapte le nom des feuilles selon ton application.
À copier dans un module standard
La première ligne de la feuille destination (où seront copiées les données est réservée aux étiquettes de colonnes.
Pour les fins de l'exercice, la zone de critère retenue est : Range("F1:G3")
Voici comment l'organiser : F1 G1 Étiquette NomChampCol2 NomChampCol4 Critère Toto Critère Tutu
Les 2 critères doivent être saisi sur une ligne différente.
'------------------------------------- Sub CopierAilleurs()
'Déclaration des variables. Dim Rg As Range, Rg1 As Range, Dest As Range
'Empêche le rafraîchessement de l'écran Application.ScreenUpdating = False
'Feuille ou le filtre automatique s'exécute With Worksheets("Feuil2") 'Nom de la feuille à déterminer 'Détermine l'étendue de la plage à filtrer Set Rg = .Range("A1:D" & .Range("A65536").End(xlUp).Row)
'Utilisation du filtre élaboré Rg.AdvancedFilter Action:=xlFilterInPlace, _ CriteriaRange:=.Range("F1:G3"), Unique:úlse
'plage à copier sans la ligne d'étiquette Set Rg1 = Rg.Offset(1).Resize(Rg.Rows.Count - 1, _ Rg.Columns.Count).SpecialCells(xlCellTypeVisible) End With
'Déterminer où la copie prendra place 'sur la feuiile de destination With Worksheets("Feuil3") ''Nom de la feuille à déterminer Set Dest = .Range("A" & .Range("A65536").End(xlUp)(2).Row) End With
'copie des données : Rg1.Copy Dest
'Libération de la mémoire : Set Rg = Nothing: Set Rg1 = Nothing: Set Dest = Nothing End Sub '-------------------------------------
Salutations!
"max" a écrit dans le message de news:363301c37474$402068c0$ Bonjour
Merci d'essayer de m'aider,
Mes données se présentent sur 4 colonnes en feuille A
TOTO et TUTU sont deux occurrences distinctes, se trouvant toujours dans la colonne 2 pour TUTU et 4 pour TOTO.
Je veux copier toute la ligne qui contiendra soit TUTU soit TOTO et celle qui forcement contiendra TUTU et TOTO.
J'aimerais que ces données soit copiées automatiquement dans une feuille du même classeur et dans un classeur différent.