Filtrer colonne et extraire des valeurs

christian.bedere

XLDnaute Occasionnel
Bonsoir à vous tous

Ma question me tarabuste l'esprit depuis longtemps, ne trouvant pas de réponse je vous la soumet...

J'ai 3 colonnes:
- en 'A', une liste d'établissements que nous avons comme clients dont le devis est à créer
- en 'D', une liste d'établissements dont le devis a déjà été créé
- en 'E', une liste d'établissements dont il reste les devis à créer

En PJ, mon fichier avec d'autres explications, mais en gros j'aimerai connaître une macro qui me permettrait d'actualiser la liste des établissements à créer au fûr et à mesure que les devis créés s'ajoutent.

Merci pour votre aide et à bientôt j'espère.

Kiki
 

Pièces jointes

  • Filtrer.zip
    7.7 KB · Affichages: 35
  • Filtrer.zip
    7.7 KB · Affichages: 34
  • Filtrer.zip
    7.7 KB · Affichages: 36

ledzepfred

XLDnaute Impliqué
Re : Filtrer colonne et extraire des valeurs

bojour christian,

ci-dessous une procédure qui permet de lister les établissements de la colonne A qui ne seraient pas présnets dans la colonne:

Code:
Sub resteacreer()
Range("E2:E65536").ClearContents
If ActiveSheet.FilterMode = False Then
    Cells.AutoFilter
ElseIf ActiveSheet.AutoFilterMode = True Then
ActiveSheet.ShowAllData
End If
LIG = Range("A65536").End(xlUp).Row
With Range("E2:E" & LIG)
    .FormulaR1C1 = "=IF(ISNA(VLOOKUP(RC1,C4,1,FALSE))=TRUE,"""",RC1)"
    .Copy
    .PasteSpecial Paste:=xlPasteValues
    .AutoFilter Field:=5, Criteria1:="="
    .ClearContents
    ActiveSheet.ShowAllData
    .Sort Key1:=Range("E2"), Order1:=xlAscending
End With
Range("A1").Activate
End Sub

code à placer dans un module normal, tu peux associer cette macro à un bouton issu de la barre d'outils formulaires
Bien entendu, si la structure de ton fichier est modifiée, le code sera à modifier également

A+
 

christian.bedere

XLDnaute Occasionnel
Re : Filtrer colonne et extraire des valeurs

Salut LedZepFred

Merci pour ton message et ta réponse.
Je ne comprends pas bien le code, mais quand j'essaie, il me recopie la liste située en 'a' dans 'e' sans se soucier si dans 'd' les établissements sont déjà inscrits.
Sur l exemple donné, il devrait m'afficher 'école de maguiche', or il inscrit toute la liste.

Je te remercie infiniment pour cette aide bien agréable

Belle journée à toi !!

Christian
 

Pièces jointes

  • Filtrer.zip
    8.3 KB · Affichages: 40
  • Filtrer.zip
    8.3 KB · Affichages: 39
  • Filtrer.zip
    8.3 KB · Affichages: 37

Cousinhub

XLDnaute Barbatruc
Re : Filtrer colonne et extraire des valeurs

Bonjour,

essaie avec ce code :

Code:
Sub Etablissement()
Dim MesEtbs As Object
Dim Cel As Range
Set MesEtbs = CreateObject("Scripting.Dictionary")
    For Each Cel In Range("A2:A" & [A65000].End(xlUp).Row)
        If Cel.Value <> "" And Cel.Value <> 0 And Not MesEtbs.Exists(Cel.Value) Then _
                MesEtbs.Add Cel.Value, Cel.Value
    Next Cel
    For Each Cel In Range("D2:D" & [D65000].End(xlUp).Row)
        If Cel.Value <> "" And Cel.Value <> 0 And MesEtbs.Exists(Cel.Value) Then _
                MesEtbs.Remove (Cel.Value)
    Next Cel
    [E2].Resize(MesEtbs.Count) = Application.Transpose(MesEtbs.items)
End Sub
 

ledzepfred

XLDnaute Impliqué
Re : Filtrer colonne et extraire des valeurs

bonsoir,

effectivement!! Mon code te donne l'inverse du résultat que tu souhaites: c'est lié à la formule, il convient donc de remplacer
Code:
    .FormulaR1C1 = "=IF(ISNA(VLOOKUP(RC1,C4,1,FALSE))=TRUE,"""",RC1)"
par
Code:
    .FormulaR1C1 = "=IF(ISNA(VLOOKUP(RC1,C4,1,FALSE))=[COLOR="Red"]FALSE[/COLOR],"""",RC1)"

Désolé pour l'erreur

A+
 

christian.bedere

XLDnaute Occasionnel
Re : Filtrer colonne et extraire des valeurs

Bonjour Klin89

Que dire d'un tel message qui me chagrine !

Je ne comprends pas pourquoi tu me dis ça, je m'aperçois que je ne suis pas le seul aimer Alf, et c'est sans doute cela qui fait que tu penses que j' "usurpe" l'identité de qqun. En effet, nous avons le même avatar (ou presque) mais jamais au grand jamais je ne suis le 'ptit lulu', puisque lui est inscrit en 2006 et moi en 2004 et que ma quantité de messages postés est supérieure à la sienne.
J'espère avoir des explications à ces accusations infondées.
Merci bonne journée
Kiki

PS: J'espère en tout cas que cette 'usurpation' ira loin, même jusqu' aux excuses
 

christian.bedere

XLDnaute Occasionnel
Re : Filtrer colonne et extraire des valeurs

Bonjour ledzepfred

Je suis désolé de venir te chercher pour la même chose que la dernière fois mais plutôt que de poster un autre message, je complète celui-ci.

Je me vois confronté à devoir faire le tri de mes établissements sur les colonnes ("a:a") pour l'ensemble des étab, mais cette fois-ci en triant les devis créés (affichés en colonne ("g:g"), et par conséquent décrémenter la colonne ("h:h") pour les devis restant à créer.

J'ai essayé de modifier la ligne
.FormulaR1C1 = "=IF(ISNA(VLOOKUP(RC1,C4,1,FALSE))=false,"""",RC1)"
mais je ne sais pas quelles valeurs changer pour exercer le tri convenablement puisque je ne sais pas à quoi correspondent : "rc1" et "c4"

Merci infiniment pour l aide que j espère tu pourras m'apporter

Bonne journée

kiki
 

Discussions similaires

Statistiques des forums

Discussions
312 345
Messages
2 087 476
Membres
103 553
dernier inscrit
jhnm