Aide sur extraction automatique de données sur autre feuille.

jlm94

XLDnaute Junior
Bonjour,
Je joins un petit fichier pour exemple de mes besoins.
Je recherche le moyen (macro, formule) lorsque j'ajoute un animateur (et ces coordonnées) en feuille "BDD",
qu'une partie des données (certaines colonnes seulement) soit copiées automatiquement vers "Relance".
avec une condition: extraire les données vers "Relance", à condition que la colonne A contienne "OUI"
sinon pas de recopie.

En vous remerciant par avance pour toute l'assistance apportée.

Cdlt.

jlm94
 

Pièces jointes

  • Test.xlsx
    11.2 KB · Affichages: 45
  • Test.xlsx
    11.2 KB · Affichages: 48
  • Test.xlsx
    11.2 KB · Affichages: 46

DoubleZero

XLDnaute Barbatruc
Re : Aide sur extraction automatique de données sur autre feuille.

Bonjour, jlm94, le Forum,

Un essai avec ce code placé dans un module standard :

Code:
Option Explicit
Sub MAJ()
    Dim c As Range
    With Application: .ScreenUpdating = False: .Calculation = xlManual: .EnableEvents = False: End With
    With Sheets("Relance"): .Range(.Range("a2"), .Range("d2").End(xlDown)).Clear: End With
    For Each c In Range("a2", Cells(Rows.Count, 1).End(3))
        If c = "X" Then
            With c
                .Offset(, 1).Resize(, 3).Copy Destination:=Sheets("Relance").Range("a" & Rows.Count).End(xlUp)(2)
                .Offset(, 5).Copy Destination:=Sheets("Relance").Range("d" & Rows.Count).End(xlUp)(2)
            End With
        End If
    Next
    With Sheets("Relance"): .Columns("A:D").EntireColumn.AutoFit: .Range("a1").CurrentRegion.Borders.Value = 1: End With
    With Application: .EnableEvents = True: .Calculation = xlAutomatic: .ScreenUpdating = True: End With
End Sub

A bientôt :)
 

jlm94

XLDnaute Junior
Re : Aide sur extraction automatique de données sur autre feuille.

Bonjour
Désolé je n'ai pas pu répondre plus tôt
Merci pour ton travail,j'ai fais "Insertion Module" puis dans le "Module 1" j'ai collé ta macro.
et enregistré le tout en xlsm.
Mais je ne vois aucune action automatique sur l'onglet "Relance"
est-ce que je fais bien ?

jlm94
 

Staple1600

XLDnaute Barbatruc
Re : Aide sur extraction automatique de données sur autre feuille.

Bonjour à tous, 00 ;)

jlm94
Tu disais
extraire les données vers "Relance", à condition que la colonne A contienne "OUI"
sinon pas de recopie.
Or ton fichier exemple, c'est des X en colonne A
(donc la macro de 00 teste s'il y a des X pas des OUI)
Donc si toi tu as des OUI, c'est normal que la macro qui cherche des X ne trouve pas des OUI, NON ? ;)
 

jlm94

XLDnaute Junior
Re : Aide sur extraction automatique de données sur autre feuille.

voici le fichier avec la macro imcorporée.
 

Pièces jointes

  • Test.xlsm
    16.2 KB · Affichages: 32
  • Test.xlsm
    16.2 KB · Affichages: 39
  • Test.xlsm
    16.2 KB · Affichages: 45
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Aide sur extraction automatique de données sur autre feuille.

Re

Ok.
Alors, essaies cette autre macro (qui utilise le filtre élaboré)
PS: il faudra la peaufiner ;)
Code:
Sub MacroFiltreElab()
With Sheets("BDD")
    .Range("I2").FormulaR1C1 = "=RC[-8]=""X"""
    .Range("A1:G16").AdvancedFilter _
            Action:=xlFilterCopy, _
            CriteriaRange:=.Range("I1:I2"), _
            CopyToRange:=Sheets("Relance").Range("A1:G1"), Unique:=False
    .Range("I2").Clear
End With
End Sub
 

jlm94

XLDnaute Junior
Re : Aide sur extraction automatique de données sur autre feuille.

Désolé mais comme tu as pu le deviner je ne suis pas un pro des macros.
J'ai inséré ton code dans le module ou j'avais placer celui de 00 mais pas de résultats)
Mon besoin au départ était le suivant,
Lorsque j'ajoute une ligne dans "BDD" une partie des infos (colonnes B:NOM, C:prénom, D:Date de Naissance, F:Mail)
soient automatiquement recopiée dans "Relance" sauf si il y a un X en colonne A.

Merci pour votre aide.

jlm94
 

Pièces jointes

  • Test.xlsm
    17.8 KB · Affichages: 35
  • Test.xlsm
    17.8 KB · Affichages: 39
  • Test.xlsm
    17.8 KB · Affichages: 43

Staple1600

XLDnaute Barbatruc
Re : Aide sur extraction automatique de données sur autre feuille.

Re

Moi ma macro fait ceci (sauf que c'est X à la place de OUI)
extraire les données vers "Relance", à condition que la colonne A contienne "OUI"
sinon pas de recopie.

Et maintenant tu demandes le contraire ?

NB: Une fois la macro copiée, il faut l’exécuter (ou la lancer)
C'est bien ce que tu as fait ?

EDITION: Pour faire ta dernière demande , voici un début de macro
(à mettre dans le code de la feuille BDD (clic-droit sur l'onglet -> Visualiser le code)
Je te laisse essayer de la continuer.
(Voir les commentaires en vert dans le code VBA)
Tu me redis, si tu as des difficultés à le faire.
Pendant ce temps, je vais casser la crôute ;)
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 7 Then
If Application.CountA(Cells(Target.Row, 1).Resize(, 7)) = 7 Then
With Sheets("Relance")
    With .Cells(Rows.Count, 1).End(3)(2)
        .Value = Cells(Target.Row, "A").Value 'cellule A
        .Offset(, 1).Value = Cells(Target.Row, "B").Value ' cellule B
'ici ajouter N fois la ligne ci-dessus en la modifiant selon les cellules désirées
        End With
    End With
End If
End If
End Sub
 
Dernière édition:

jlm94

XLDnaute Junior
Re : Aide sur extraction automatique de données sur autre feuille.

Désolé je n'avais pas compris qu'il fallait lancer la macro à chaque fois
je pensais que la mise a jour se faisait automatiquement à chaque ajout d'une ligne correspondante aux critères.

Merci beaucoup pour ton travail.

jlm94
 

Staple1600

XLDnaute Barbatruc
Re : Aide sur extraction automatique de données sur autre feuille.

Re

jlm94
Regardes le code VBA dans l'EDITION de mon précédent message
Là c'est automatique.
Tu peux tester et me redire, stp ?

NB: Rappel : la version encore n'est pas finalisée.
J'attends de savoir si tu comprends le fonctionnement du code VBA avant d'aller plus loin.
 
Dernière édition:

DoubleZero

XLDnaute Barbatruc
Re : Aide sur extraction automatique de données sur autre feuille.

Bonjour, jlm94, Staple1600 :D, le Forum,

...NOM, Prénom, Naissance, Mail soient automatiquement recopiée dans "Relance"

Une autre suggestion avec ce code logé dans le module de l'onglet "Relance" :

VB:
Option Explicit
Private Sub Worksheet_Activate()
    Application.ScreenUpdating = False
    Cells.Clear: [A1] = "En activité": [A2] = "X"
    Sheets("BDD").Columns("A:G").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("B1"), Unique:=False
    Range("A:B,F:F,H:H").Delete Shift:=xlToLeft
    [A1:D1].Interior.Color = 15986394: [A1].CurrentRegion.Borders.Value = 1
    Cells.EntireColumn.AutoFit
    Application.ScreenUpdating = True
End Sub

A bientôt :)
 

Staple1600

XLDnaute Barbatruc
Re : Aide sur extraction automatique de données sur autre feuille.

Bonsoir à tous

00
(j'avais eu la même idée : le Filtre élaboré, puis on élague ensuite ;))
Mais je retiens une ligne que tu n'as pas "quoté" ;)
Lorsque j'ajoute une ligne dans "BDD" une partie des infos (colonnes B:NOM, C:prénom, D:Date de Naissance, F:Mail)
soient automatiquement recopiée dans "Relance" sauf si il y a un X en colonne A.

Donc on est dans dans feuille BDD à ce moment là, c'est donc la proc événementielle de cette feuille qu'on utilise, non ?

NB: Mon code n'est pas finalisé, car j'attends toujours la réponse de jlm94 qui a disparu du fil.
 

Discussions similaires

Réponses
65
Affichages
4 K

Statistiques des forums

Discussions
311 709
Messages
2 081 754
Membres
101 812
dernier inscrit
trufu