extraction de certaines données d'une feuille1 vers feuil2 sous condtion

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 !

gilles37

XLDnaute Occasionnel
bonjour,

J'ai une feuille1 qui comporte un tableau avec 20 colonnes et des lignes qui sont renseignées au fil du temps.

je souihaterais extraire les données de certaines colonnes (Ex: B-C-L-M-N-O-P-Q) quand une croix se trouve dans la colonne Z pour renseigner un tableau sur la feuille2.
je bloque, merci pour votre aide
 
Re : extraction de certaines données d'une feuille1 vers feuil2 sous condtion

Bonjour gilles37,

Sans fichier joint, difficile de répondre mais à première vue, un filtre élaboré pourrait répondre à ta question.
Il existe de nombreux posts dans ce domaine, utilise le moteur de recherche, tu trouveras certainement ton bonheur...

A plus !
 
Dernière édition:
Re : extraction de certaines données d'une feuille1 vers feuil2 sous condtion

Re,

Vite fait, sans rien inventer.

Macro événementielle dans le code de la 1ère feuille (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim plage As Range
If Intersect(Target, [Z:Z]) Is Nothing Then Exit Sub
Application.ScreenUpdating = False
ActiveSheet.AutoFilterMode = False 'si le filtre est en place
[Z:Z].AutoFilter 1, "x" 'filtre automatique
Set plage = [Z:Z].SpecialCells(xlCellTypeVisible).EntireRow
Set plage = Intersect(plage, [B:C,L:Q])
ActiveSheet.AutoFilterMode = False 'désactive le filtre
'---restitution---
With Sheets("Feuil2") 'nom à adapter
  .Cells.ClearContents 'RAZ
  plage.Copy .[A1]
End With
End Sub
On utilise le Filtre automatique, en supposant que la ligne 1 est une ligne de titres.

A+
 
Re : extraction de certaines données d'une feuille1 vers feuil2 sous condtion

Re,

Il est sans doute mieux d'utiliser une macro Worksheet_Activate (calculs moins fréquents).

Donc placer dans le code de la Feuil2 (feuille de restitution) :

Code:
Private Sub Worksheet_Activate()
Dim plage As Range
With Feuil1 'CodeName de la feuille de base, à adapter
  .AutoFilterMode = False 'si le filtre est en place
  .[Z:Z].AutoFilter 1, "x" 'filtre automatique
  Set plage = .[Z:Z].SpecialCells(xlCellTypeVisible).EntireRow
  Set plage = Intersect(plage, .[B:C,L:Q])
  .AutoFilterMode = False 'désactive le filtre
End With
'---restitution---
Application.ScreenUpdating = False
Cells.ClearContents 'RAZ
plage.Copy [A1]
End Sub
Nota : j'utilise le CodeName, ce qui permet de modifier le nom de la feuille sans modifier le code.

A+
 
- 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

Réponses
5
Affichages
752
Réponses
4
Affichages
754
O
  • Question Question
Microsoft 365 Problème Exit sub
Réponses
9
Affichages
1 K
omario1995
O
V
Réponses
17
Affichages
2 K
Réponses
0
Affichages
938
S
Réponses
4
Affichages
3 K
S
Réponses
1
Affichages
1 K
G
  • Question Question
Réponses
1
Affichages
802
Grouchet
G
Retour