Relation N à plusieurs si identique

Olya

XLDnaute Junior
Bonjour à tous

Dans un tableau,
j'ai deux colonnes Une Clients et l'autres vendeurs .. je peux répartir le plus équitablement le nombre de clients sur mes 6 vendeurs ( en tous cas s'en rapprocher) mais je souhaiterai faire cela tout en essayant de faire en sorte que les clients apparaissant dans plusieurs lignes gardent le même vendeur en face / (en gros un même client ne doit pas se trouver chez plusieurs vendeurs mais l'ensembles de ses lignes doivent être liées à un même vendeur ...).

PS. je ne souhaite pas éliminer les doublons ni les filtrer car un même client peut avoir plusieurs dossiers et de ce fait tous ses dossiers doivent être suivi par un même vendeur.

Très cordialement
Olya
 

Pièces jointes

  • repartition N à Tous.xls
    46.5 KB · Affichages: 40
  • repartition N à Tous.xls
    46.5 KB · Affichages: 49
  • repartition N à Tous.xls
    46.5 KB · Affichages: 53
Dernière édition:

Olya

XLDnaute Junior
Re : Relation N à plusieurs si identique

Bonjour

Ici la question est centrée sur la relation N à tous ... pour essayer de trouver une proposition... ( dans l'autre question je ne trouve que la moitié de la réponse). Du fait de ma formulation de ma question dans l'autre poste ..je n'ai eu que des réponses sur la répartition en elle même et non sur l'aspect que j'évoque ici... ( avec pièce jointe différente par ailleurs).
Mais je vois que la question n'est pas si simple que ça .... alors j'espère toujours
--
Olya
 
Dernière édition:

Victor21

XLDnaute Barbatruc
Re : Relation N à plusieurs si identique

Bonjour Olya, piga25 :)

Une proposition en pj.
 

Pièces jointes

  • repartition N à Tous.xls
    90.5 KB · Affichages: 52
  • repartition N à Tous.xls
    90.5 KB · Affichages: 53
  • repartition N à Tous.xls
    90.5 KB · Affichages: 72

Efgé

XLDnaute Barbatruc
Re : Relation N à plusieurs si identique

Bonjour Olya, Bonjour piga :) , Bonjour Victor21 :)

Pour une fois, que j'ai peut être, mieux.... ...j'en profite :D
C'est certainement améliorable, mais ça fonctionne sans colonnes supplémentaires.

Cordialement
 

Pièces jointes

  • repartition_N_à_Tous(3).xlsx
    18.9 KB · Affichages: 49

Olya

XLDnaute Junior
Re : Relation N à plusieurs si identique

Bonjour Victor , Bonjour Efgé...

Grand merci pour vos contributions...

Victor ta solutions impose un peu plus de gymnastique mais elle est tout aussi intéréssante notamment pour l'éxtraction d'une liste unique par formule .... grand merci
--
Efgé tu disais : "ça fonctionne sans colonnes supplémentaires...." ..oui en effet elle fonctionne et elle est sublime et me rend bien service). je commençais à déséspèrer mais là tu me sauves la vie :)
très grand merci à toi..

Peux tu m'indiquer en rouge sur ta formule que dois-je changer si le nombre de vendeur passe de 6 à 10 par exemple.
Aussi, si ma liste de vendeur en B2:B7 change d'adresse.

Encore une fois BRAVO et merci pour tous les deux...

Cordialement Olya
'
 

Efgé

XLDnaute Barbatruc
Re : Relation N à plusieurs si identique

Bonjour Olya , bonjour à tous

Les indications demandées dans le fichier joint.
La formule est légèrement raccourcie mais c'est la même.

Cordialement
 

Pièces jointes

  • repartition_N_à_Tous(4).xlsx
    19.7 KB · Affichages: 35

Olya

XLDnaute Junior
Re : Relation N à plusieurs si identique

Bonjour Efgé :)

Merci pour la modification, cependant je me trouve face à un double problème ( mais il n'a rien à voir avec la modification bien sûr).

le premier
est ( il faut supprimer un nom dans la colonne clients pour le constater) :
En cas de case vide dans la colonne clients
dans le segment SOMMEPROD(1/NB.SI......) je me trouvre face à l'erreur DIV/0 que je gère avec un SI et du coup je me trouve avec le fameux N/A ...
j'ai donc ( sous excel 2003) essayé de rajouter un SI(ESTNA(formule);"";(FORMULE) mais là je m'en sors pas ! (les résultats ne sont pas là).

peut-être faudrait il à la place des ("") dans mon ESTNA autre chose... pour sauter la case :)

le second :

Idem si un nom de vendeur est supprimé dans la liste B2:B7 ( le calcule ne sera pas bon)

Cordialement Olya
 

Olya

XLDnaute Junior
Re : Relation N à plusieurs si identique

Re Efgé ..

en effet de préférence pas de liste à trous. mais à l'utilisation cela peut arriver ..c'est une sécurité:)
Merci pour ton travail..

espérant que quelqu'un saura compléter ta contribution par un peu de gestion d'erreur..

Merci encore..
cordialement olya
 

Efgé

XLDnaute Barbatruc
Re : Relation N à plusieurs si identique

Re

Je voulais éviter la macro, mais comme les solutions en formules ne sont pas légions....

VB:
Sub test()
Dim Tvnd As Variant, TClient As Variant
Dim i&, L&
Dim D As Object, PlgVnd As Range, PlgClient As Range


'Plage des vendeurs
Set PlgVnd = Sheets("Feuil1").Range("$B$2:$B7")


'Plage des clients (le 2 est pour la deuxième colonne)
Set PlgClient = Sheets("Feuil1").Range("$B15:" & Cells(Rows.Count, 2).End(3).Address)


Set D = CreateObject("scripting.dictionary")
Tvnd = PlgVnd
TClient = PlgClient
ReDim Preserve TClient(1 To UBound(TClient, 1), 1 To 2)




For i = LBound(TClient, 1) To UBound(TClient, 1)
    If TClient(i, 1) <> "" Then
        If Not D.Exists(TClient(i, 1)) Then
            L = L + 1
            If L > UBound(Tvnd, 1) Then L = 1
            D(TClient(i, 1)) = Tvnd(L, 1)
            TClient(i, 2) = Tvnd(L, 1)
        Else
            TClient(i, 2) = D(TClient(i, 1))
        End If
    End If
Next i
PlgClient.Resize(UBound(TClient, 1), UBound(TClient, 2)) = TClient


End Sub
Cordialement
 
Dernière édition:

Olya

XLDnaute Junior
Re : Relation N à plusieurs si identique

Bonjour Efgé ,


Ta macro marche du feu de Dieu .. tu es super sympa :) ( c'est propre et sans bavure).

sinon pour ce qui est de ta formule j'ai pu la retoucher aussi et semble également donner satisfaction même si il ya des trous dans la listes clients..( plus de problème de div/0 et de #N/A )

PS. j'ai testé en colonne "D15" et j'ai tiré vers le bas
=SI(NB.SI($B$15:$B15;B15)=1;DECALER($B$2;MOD(SOMMEPROD(SI($B$15:$B15>0;1/NB.SI($B$15:$B15;$B$15:$B15);0));6););SI(ESTNA(RECHERCHEV(B15;$B$15:$D15;3;0));"";RECHERCHEV(B15;$B$15:$D15;3;0)))


Très Grand merci


Cordialement Olya

Franchement GRAND merci à toi
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 432
Messages
2 088 370
Membres
103 835
dernier inscrit
Jaco24