Donnée formule

nizard01 Messages postés 5 Statut Membre -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
Salut a tous

Je cherche une application pour pouvoir afficher dans les cases de la colonne “Message” une liste de COMPANY qui partage la même ZONE que la COMPANY de référence (attaché exemple)

Dans la ZONE « C » il y a 05 COMPANY qui travaillent (MSBI & ETELEC & NSGI & BI & SIMG)
 Dans la case « D4 » je dois avoir toute les COMPANY qui partage la zone « C » avec MSBI
Lien du fichier : https://www.dropbox.com/s/8bspwk9bamj226x/Classeur2.xlsx?dl=0
Merci

2 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,

    dropbox nécessite de s'inscrire !!! :-((

    Mettre le classeur sans données confidentielles en pièce jointe sur « mon-partage.fr »
    et faire un clic droit-coller le raccourci dans votre message

    Dans l’attente

    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Bonjour
      et salut Michel, ça va?
      ... ben non, tu peux récupérer le fichier via le bouton télécharger en haut à droite
      menu "téléchargement direct"
      et celle là je te la laisse, car je pense qu'il va falloir du VBA, je ne vois pas de formules directes pour traiter ça, sauf à passer par des colonnes intermèdiaires.
      Bon courage
      crdlmnt
      0
    2. nizard01 Messages postés 5 Statut Membre
       
      attaché le lien :

      https://mon-partage.fr/f/qEAd1yZg/

      Merci
      0
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    proposition
    Option Explicit
    '-----------------------------------------------------------
    Sub concatener_meme_zone()
    Dim Derlig As Integer, D_zone As Object, T_zone, Cptr As Integer, Ref As String
    Dim T_liste, T_cie, Lig As Integer

    Application.ScreenUpdating = False
    '--------------------------------------------------initialisation
    Set D_zone = CreateObject("scripting.dictionary")
    Derlig = Columns("B").Find(what:="*", searchdirection:=xlPrevious).Row
    T_zone = Range("B4:C" & Derlig)
    '-------------------------------------------------- traitement
    For Cptr = 1 To UBound(T_zone)
    Ref = T_zone(Cptr, 1)
    If Not D_zone.exists(Ref) Then
    D_zone.Add Ref, ""
    Else
    D_zone.Item(Ref) = D_zone.Item(Ref) & " " & T_zone(Cptr, 2)
    End If
    Next
    '------------------------------------------------------restitution
    T_liste = D_zone.keys
    T_cie = D_zone.items
    For Cptr = 0 To UBound(T_liste)
    Lig = Columns("B").Find(T_liste(Cptr), Range("B3")).Row
    Cells(Lig, "D") = T_cie(Cptr)
    Next
    End Sub

    0