Extraction d'une colonne avec condition vers une autre feuille

  • Initiateur de la discussion Initiateur de la discussion SEI
  • 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 !

S

SEI

Guest
Bonjour à tous,

Je fais appel à votre aide pour à trouver une solution pour extraire les données d'une colonne qui répondent à une condition vers une autre feuille.

J'ai cherché sur le forum mais n'étant pas très à l'aise avec les macros je n'ai pas réussi à modifier les macros proposées, j'ai une macro sur mon ma feuille "BASE" mais je n'ai pas réussie à la modifier pour exporter les données vers une autre feuille.

Merci par avanCe de votre aide
 

Pièces jointes

Re : Extraction d'une colonne avec condition vers une autre feuille

Bonjour SEI,

voici une macro événementielle à mettre dans le code de la feuille "RECHERCHE".

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MaVal As Range
If Target.Address = "$B$2" Then
  With Sheets("BASE")
    Set MaVal = .Rows(1).Find(Target.Value, LookIn:=xlValues, lookat:=xlWhole)
    If Not MaVal Is Nothing Then .Range(.Cells(2, MaVal.Column), .Cells(65536, MaVal.Column).End(xlUp)).Copy [B3]
  End With
End If
End Sub
 
Re : Extraction d'une colonne avec condition vers une autre feuille

Merci Skoobi pour ta rapide réponse,

Cela fonctionne parfaitement, cependant la valeur de la cellule B2 sera donnée par un calcul d'autre cellule, est dans ce cas la macro ne fonctionne plus. Voir fichier joint avec la macro événementielle intégrer.
Si tu peux me régler ce problème

Merci par avance
 
Re : Extraction d'une colonne avec condition vers une autre feuille

Re,

dans ce cas il faut utiliser l'événement Calculate:
Code:
Private Sub Worksheet_Calculate()
Dim MaVal As Range
With Sheets("BASE")
  Set MaVal = .Rows(1).Find([B2].Value, LookIn:=xlValues, lookat:=xlWhole)
  If Not MaVal Is Nothing Then .Range(.Cells(2, MaVal.Column), .Cells(65536, MaVal.Column).End(xlUp)).Copy [B3]
End With
End Sub
 
Re : Extraction d'une colonne avec condition vers une autre feuille

Merci pour ta réponse, tout fonctionne parfaitement.

Pour optimiser l'utilisation du tableau serait il possible d'effacer les données précédentes extraites a chaque nouveau calcul, car si lors de la nouvelle extraction il y moins de donnees celle ci reste dessous les nouvelles.

Bravo et merci pour tous les passionnés d'Excel qui nous aide à progresser au quotidien avec la qualité de leurs réponses

Merci par avance.
 
Re : Extraction d'une colonne avec condition vers une autre feuille

Bonjour,

Avec le Filtre élaboré.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Address = "$B$2" Then
    Sheets("BASE").[A1:E1000].AdvancedFilter Action:=xlFilterCopy, CopyToRange:=[B2]
 End If
End Sub

JB
 

Pièces jointes

- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour