Suppression doublon par une formule

boubouloulou

XLDnaute Nouveau
Bonjour,
Bon, j'ai résolu mes problèmes cependant, j'ai plusieurs questions:
Peut ton à l'aide d'une formule retranscrire une colonne en supprimant tous les doublons?
N'ayant pas trouvé, j'ai réalisé une macro associé à un bouton: Call blondie! ... euh non Call SuppressionDoublon.
Sub SuppressionDoublon()
'
' SuppressionDoublon Macro
' Permet de copier les systèmes de ventilation de la colonne "ventilateurs" dans la feuille "Bouches" et d'en supprimer les doublons
'
'
Sheets("Bouches").Range("F4:F200").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("B10:B200"), Unique:=True
ActiveWindow.SmallScroll Down:=-9
End Sub
Cependant la colonne peut bouger, F4:F200, là je voudrais la colonne E4:F200.
Comment pourrais je faire?
Merci par avance!
 

Pièces jointes

  • CADILLAC_Traitement de données-Essai.xlsm
    276.5 KB · Affichages: 30
Dernière édition:

Dugenou

XLDnaute Barbatruc
Bonjour,
La destination c'est bien la feuille SYNTHESE Syst. Vent. ?
Une proposition avec formule matricielle en pj. j'ai corrigé les formules des colonnes C à F qui ne prenaient les bonnes colonnes de la source
Cordialement
 

Pièces jointes

  • boubouloulou.xlsx
    268.4 KB · Affichages: 35

boubouloulou

XLDnaute Nouveau
Yeap, j'avais déjà essayé cette formule mais sans succès, merci.
Second step: Quelle fonction dois je intégrer à ma formule pour qu'il trouve automatiquement la colonne ventilateur, ici en colonne E et pas F de la feuille "Bouches".
J'ai déjà trouvé une astuce pour ma feuille "synthèse pièce" afin que mes formules s'adaptent. Les feuilles "pièces" et "bouches" sont menées à évoluer. Suivant les projets, déplacement d'une colonne de F en D sans modification de son nom.
Voili voilou! Merci en tout cas Dugenou!
Toujours au top ce forum!
 

Dugenou

XLDnaute Barbatruc
Bonjour,
Seconde proposition pour voir si j'ai compris
Si c'est bien ça on pourra rendre la formule adaptative à un mot recherché "ventilateur" qu'on devra trouver dans les données sources : comme en E1 de la feuille Bouches
Cordialement
 

Pièces jointes

  • boubouloulou2.xlsx
    268.4 KB · Affichages: 33

Dugenou

XLDnaute Barbatruc
V3 avec adaptation à la colonne où on trouve "ventilateurs" en ligne1
V4 avec formule nommée pour le décalage afin d'avoir une formule un peu plus lisible
Cordialement
 

Pièces jointes

  • boubouloulou4.xlsx
    268.4 KB · Affichages: 28
  • boubouloulou3.xlsx
    268.6 KB · Affichages: 30

boubouloulou

XLDnaute Nouveau
La version 3 est parfaite, si j'ai bien compris, la version 4 est similaire à la 3 mais seulement la fonction DECALER a été simplifié en une formule nommé Col_ventilateurs.
Cela correspond exactement à ma demande! Pourriez vous m'expliquer comment on "créé" une formule (passage de la formule détaillé DECALER en Col_ventilateurs)?
 

Dugenou

XLDnaute Barbatruc
J'écris la formule pour la version 3 puis je corrige légèrement pour qu'elle utilise la même partie decaler() :
dans la V3 on a DECALER(Bouches!$A$1:$A$200;;EQUIV("ventilateurs";Bouches!$A$1:$AK$1;0)-1) pour la colonne B
et DECALER(Bouches!$A$4:$A$200;;EQUIV("ventilateurs";Bouches!$A$1:$AK$1;0)-1) dans les colonnes C à F
donc en V4 j'ai écrit en B :
==SIERREUR(INDEX(DECALER(Bouches!$A$4:$A$200;;EQUIV("ventilateurs";Bouches!$A$1:$AK$1;0)-1);PETITE.VALEUR(SI(NB.SI($B$9:B9;Bouches!$E$4:$E$200)=0;LIGNE(Bouches!$E$4:$E$200)-3);LIGNE(1:1)));"")

au lieu de
=SIERREUR(INDEX(DECALER(Bouches!$A$1:$A$200;;EQUIV("ventilateurs";Bouches!$A$1:$AK$1;0)-1);PETITE.VALEUR(SI(NB.SI($B$9:B9;Bouches!$E$4:$E$200)=0;LIGNE(Bouches!$E$4:$E$200));LIGNE(1:1)));"")
en V3

Ensuite je copie la partie INDEX(DECALER(Bouches!$A$4:$A$200;;EQUIV("ventilateurs";Bouches!$A$1:$AK$1;0)-1), je vais dans formules/gestionnaire de noms/ nouveau : j'entre un nom de mon choix sans espace et sans accent et sans chiffres (col_ventilateurs) et dans la partie formule je colle la formule ci dessus. je vérifie que la formule est bien comprise at qu'excel ne m'a pas ajouté des " " autour (ça lui arrive parfois sans que je comprenne pourquoi : je pense que c'est lié à la présence de "" dans la formule)

enfin je retourne dans mon tableau et la je fais un remplacer INDEX(DECALER(Bouches!$A$4:$A$200;;EQUIV("ventilateurs";Bouches!$A$1:$AK$1;0)-1) par col_ventilateurs
et pouf ! c'est magique
pour le fun on pourrait nommer laformuleaboubou au lieu de col_ventilateurs : les autres utilisateurs en restent scotchés la plupart du temps ! :)
 

boubouloulou

XLDnaute Nouveau
Bonjour,
En utilisant le fichier sur un autre projet, dans ma feuille "synthèse système vent", la macro ne fonctionne plus correctement. Alors qu'elle est censé supprimer les doublons, il y a un "caisson" en double...=/
Merci par avance =)
Cordialement,
 

Pièces jointes

  • GINGA_Traitement de données-Essai.xlsm
    299.8 KB · Affichages: 29

Dugenou

XLDnaute Barbatruc
Bonjour,
Je pense (à confirmer par des spécialistes VBA) que ta macro affiche la première ligne comme étant un titre.
Donc soit tu ajoutes un titre à ta colonne et tu le colles dans ta destination, soit tu n'utilise pas de macro mais la formule que j'ai mis en place dans les versions 3 et 4 à adapter selon la colonne à renvoyer.
Cordialement
 

boubouloulou

XLDnaute Nouveau
Au final, la dernière étape de ce projet se peaufine à l'horizon.
L'utilisation de la formule fonctionne sur deux de mes trois exports. Dans le fichier joint, j'obtiens des doublons dans la feuille feuille "synthèse système vent".
J'ai essayé aussi d'intégrer la formule décaler dans mes formules SOMMEPROD pour calculer la somme des débits associé à chaque ventilateur, mais c'est un échec. Car le numéro de la conne change suivant la bdd mais son nom... par exemple :
Somme débit pour le ventilateur = reprise*Nb*occupé (feuilles bouches or le num de la colonne n'est pas fixe...)
Voili voilou. Bonne après midi à vous =) !
 

Pièces jointes

  • Traitement de données-Pleiades-version3.xlsm
    365.6 KB · Affichages: 23

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 204
Membres
103 157
dernier inscrit
youma