Extraction dynamique

jeanlouispaf

XLDnaute Nouveau
Bonjour à tous les excelliens

Je souhaite modifier une macro de l'excellentissime J. Boisgontier.
Malheureusement je me heurte à chaque fois à la même réponse.
Dans le fichier joint, je souhaite procéder à une extraction dynamique.
Dès qu'une nouvelle valeur est inscrite en colonne C, elle doit s'ajouter à la liste de valeurs en colonne I.
J'ai beau changer le paramètre "Target.Column = 2" en remplaçant la valeur 2 par 3, la colonne I s'enrichit toujours de la valeur de la colonne 2.
Je vous remercie de votre aide précieuse.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 And Target.Count = 1 Then
Application.EnableEvents = False
'[G3] = Empty
[A1:D1000].AdvancedFilter Action:=xlFilterCopy, CopyToRange:=[I1], Unique:=True
[I2:I1000].Sort Key1:=[I2]
Application.EnableEvents = True
End If
'--- extraction des personnes d'un service
Set f = Sheets("bd")
If Target.Address = "$G$3" And [G3] <> "" Then
temp = Target.Value
témoin = False
For i = 1 To Sheets.Count
If Sheets(i).Name = temp Then témoin = True
Next i
If Not témoin Then
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = temp
Else
Sheets(temp).Select
End If
f.[A1:D1000].AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=f.[G2:G3], _
CopyToRange:=Sheets(temp).[A1:D1]
[A2:D1000].Sort Key1:=[A2]
End If
End Sub
 

Pièces jointes

  • FiltreElabAuto2.xls
    46.5 KB · Affichages: 25
  • FiltreElabAuto2.xls
    46.5 KB · Affichages: 22
  • FiltreElabAuto2.xls
    46.5 KB · Affichages: 29

youky(BJ)

XLDnaute Barbatruc
Re : Extraction dynamique

Bonjour tous
Je pense avoir compris
Si c'est le cas ceci doit faire.
Macro à remplacer en Workseet_Change
Bruno
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Or Target = "" Then Exit Sub
  If Target.Column <> 3 Or Target.Offset(0, -1) = "" Then Exit Sub
   If Application.CountIf(Range("I2:I" & [I65000].End(3).Row), Target.Offset(0, -1)) = 0 Then
    Cells([I65000].End(3).Row + 1, 9) = Target.Offset(0, -1)
   End If
End Sub
Le fichier
 

Pièces jointes

  • FiltreElabAuto2.xls
    42.5 KB · Affichages: 26
  • FiltreElabAuto2.xls
    42.5 KB · Affichages: 29
  • FiltreElabAuto2.xls
    42.5 KB · Affichages: 25

jeanlouispaf

XLDnaute Nouveau
Re : Extraction dynamique

Merci pour vos réponses.
En fait je souhaite savoir comment récupérer la valeur de la colonne 3 lorsque je la valide et que cette valeur n'existe pas dans la colonne I.
Actuellement c'est la valeur de la colonne 2 qui est prise en compte. Et je n'arrive pas à transformer le code VBA d'origine pour récupérer la valeur de la colonne 3.
il ne s'agit pas de mélanger les colonnes services (colonne B) et salaires (colonne C).
Seul le résultat de la colonne 3 m'intéresse.
Merci.
 

CHALET53

XLDnaute Barbatruc
Re : Extraction dynamique

Dans ton premier post, je lis :

Dès qu'une nouvelle valeur est inscrite en colonne C, elle doit s'ajouter à la liste de valeurs en colonne I.

Je comprends que si je saisis 3000 en C13 (par exemple), je veux le retrouver en I5

a+
 

jeanlouispaf

XLDnaute Nouveau
Re : Extraction dynamique

Je vous remercie encore. Voici la solution que m'a transmis Banzaï64 sur un autre forum.

"Après avoir changé le 2 en 3, modifies le nom de la colonne I : De Service à Salaire (le nom doit être identique à la cellule C1)"

cela fonctionne impeccablement.
Encore merci.
 

Discussions similaires

Statistiques des forums

Discussions
312 202
Messages
2 086 180
Membres
103 152
dernier inscrit
Karibu