Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

extraction vers autre onglet

  • Initiateur de la discussion Initiateur de la discussion rafi93
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

rafi93

XLDnaute Occasionnel
bonjour à tous

j'ai regardé sur le forum, mais pas réussi à trouver de solution adaptée (ou alors modifier le code et je ne suis pas un pro..)

dans une feuille, j'ai un onglet qui contient un tableau 40 col x 3000 lignes
je cherche à extraire certaines lignesxcolonnes selon la valeur d'une colonne

y aurait il une solution par formule (mais la taille de la source et du résultat sont variable) ou en VB ?

ci joint un exemple peut être plus clair

merci pour toute solution !
 

Pièces jointes

Re : extraction vers autre onglet

Bonsoir à tous

rafi93
Essaies ceci
Code:
Sub Macro14()
With ActiveSheet
.ListObjects("Tableau1").Range.AutoFilter Field:=2, Criteria1:="1"
.AutoFilter.Range.Columns(3).Copy Sheets("cible").[A1]
.AutoFilter.Range.Columns(5).Copy Sheets("cible").[B1]
.AutoFilter.Range.Columns(6).Copy Sheets("cible").[C1]
End With
End Sub
 
Dernière édition:
Re : extraction vers autre onglet

merci
simple et efficace !

j'essaie maintenant de remplacer le N° de colonne par le nom de la colonne ("Titre2") mais je n'y arrive pas :
remplacer Field:=2 par ([Tableau1[Titre2]] ??
 
Re : extraction vers autre onglet

en fait, j'avais déjà été lire le guide de référence

mais je ne sais pas comment passer le nom de la colonne Titre2 en paramètre (et non son N°)

ce sera sans doute évident quand je le saurai, mais là je coince
 
Re : extraction vers autre onglet

mais oui, ça j'ai compris

mais ce que je vodrais passer en parametre c'est pas l'offset, mais le nom de la colonne !!!!

autrement dit, écrire un truc du genre

Code:
.ListObjects("Tableau1").Range.AutoFilter [Tableau1[Titre2]], Criteria1:="1"

(qui plante)

plutot que

Code:
.ListObjects("Tableau1").Range.AutoFilter Field:=2, Criteria1:="1"

je ne sais pas si je suis clair, ou alors y'a un truc qui m'échappe
 
Re : extraction vers autre onglet

Re

Je n'appelle pas cela un moyen simple ...
Code:
.ListObjects("Tableau1").Range.AutoFilter Field:=Range("Tableau1[[#All],[titre 2]]").Column, Criteria1:="1"
Et cela renvoit bien un nombre (numéro de colonne) et pas un nom...🙄

NB: En tout cas, c'est plus long que Field:=2
 
Dernière édition:
Re : extraction vers autre onglet

ok merci bcp !

en fait, c'est parce que mon tableau fait 40 colonnes, et que je m'y retrouve plus facilement avec le nom des colonnes qu'avec leur N°; c'est plus lisible pour mes traitements...

si je puis abuser à c't'heure, je ne comprends pas pourquoi dans le code ci-dessous, il refuse le "cible" que je passe en paramètre (ça plante)

Code:
Sub extraction2()
Source = ActiveSheet.Name
Sheets.Add
cible = ActiveSheet.Name
Sheets(Source).Select

With ActiveSheet
.ListObjects("Tableau1").Range.AutoFilter Field:=2, Criteria1:="1"
.AutoFilter.Range.Columns(3).Copy Sheets(cible).[A1]
.AutoFilter.Range.Columns(5).Copy Sheets(cible).[B1]
.AutoFilter.Range.Columns(6).Copy Sheets(cible).[C1]
End With
End Sub

pourtant je passe bien un nom de feuille ?
 
Re : extraction vers autre onglet

Re

Allez une dernière avant d'aller dormir
Cela devrait mieux fonctionner ainsi
(AU PREALABLE, supprimer la feuille "cible" existante)
Code:
Sub extraction2()
Sheets.Add(after:=Sheets(Sheets.Count)).Name = "cible"
Sheets("Source").Select
With ActiveSheet
.ListObjects("Tableau1").Range.AutoFilter Field:=2, Criteria1:="1"
.AutoFilter.Range.Columns(3).Copy Sheets("cible").[A1]
.AutoFilter.Range.Columns(5).Copy Sheets("cible").[B1]
.AutoFilter.Range.Columns(6).Copy Sheets("cible").[C1]
End With
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…