concatener

bobjazz

XLDnaute Impliqué
Bonjour le forum

Je pense qu'il faut utiliser la fonction concatener, mais je me lance dans une fonction lourde, avec l'utilisation que je veux faire.
Les colonnes de D à DC sont les semaines d'une année et contiennent des interventions nommées E1, E2 et E3. Sur mon fichier, il y a plusieurs lignes avec differentes positions des E1, E2 et E3.
Je voudrais créer une colonnes, qui en fonction du nombre de E1, E2 et E3 qui se situent dans la ligne, me represente un état.
si E1> E2 et E3 alors E1
si E2> E1 et E3 alors E2
si E3> E1 et E2 alors E3
Si E1= E2 et > E3 alors E1,E2
Si E1= E2 et = E3 alors E1,E2,E3
Si E2= E3 et > E1 alors E2,E3
Si E3= E1 et > E2 alors E1,E3

Merci d'avance
Bobjazz
 

Pièces jointes

  • Classeur1.xls
    13.5 KB · Affichages: 74
  • Classeur1.xls
    13.5 KB · Affichages: 77
  • Classeur1.xls
    13.5 KB · Affichages: 72

ERIC S

XLDnaute Barbatruc
Re : concatener

Bonjour
un essai (ne génère pas de , mais des espaces)

=SI(NB.SI($D$2:$DC$2;"E1")=MAX(NB.SI($D$2:$DC$2;"E1");NB.SI($D$2:$DC$2;"E2");NB.SI($D$2:$DC$2;"E3"));" E1 ";"") & SI(NB.SI($D$2:$DC$2;"E2")=MAX(NB.SI($D$2:$DC$2;"E1");NB.SI($D$2:$DC$2;"E2");NB.SI($D$2:$DC$2;"E3"));" E2 ";"") & SI(NB.SI($D$2:$DC$2;"E3")=MAX(NB.SI($D$2:$DC$2;"E1");NB.SI($D$2:$DC$2;"E2");NB.SI($D$2:$DC$2;"E3"));" E3 ";"")
 

Luki

XLDnaute Accro
Re : concatener

Bonjour à tous

je propose une fonction personnalisée, qui me semble plus facile à corriger et maintenir à jour:

Code:
Function bobjazz(cell1 As Range, cell2 As Range, cell3 As Range) ' 3 arguments, les 3 celuules à comparer
    Application.Volatile
    If cell1 > cell2 And cell1 > cell3 Then
        bobjazz = cell1
    ElseIf cell2 > cell1 And cell2 > cell3 Then
        bobjazz = cell2
    ElseIf cell3 > cell1 And cell3 > cell2 Then
        bobjazz = cell3
    ElseIf cell1 = cell2 And cell1 > cell3 Then
        bobjazz = cell1 & cell2
    ElseIf cell2 = cell3 And cell2 > cell1 Then
        bobjazz = cell1 & cell2 & cell3
    ElseIf cell2 = cell3 And cell2 > cell1 Then
        bobjazz = cell2 & cell3
    ElseIf cell3 = cell1 And cell3 > cell2 Then
        bobjazz = cell1 & cell3
    Else
        bojazz = 0
    End If
End Function
Pour l'insérer dans ta feuille:
Insérer/ fonction/personnalisées
Vérifie tout de même les résultats, je n'ai pas fait tous les tests!

A +
 

Pièces jointes

  • fonction bobjazz.xls
    24.5 KB · Affichages: 61

nat54

XLDnaute Barbatruc
Re : concatener

Bonjour le fil,

Je rebondis sur le fil
Je ne connaissais pas Insérer/ fonction/personnalisées

Comment fait-on pour dire qu'un code VBA doit aller dans ce type de fonction ?
Ca veut dire qu'elle sera accessible pour tous les fichiers Excel ?

Merci
 

Luki

XLDnaute Accro
Re : concatener

Bonjour Nat,

Lorsque tu crées une fonction dans un module de feuille, (à condition que tu ne la déclare pas privée), elle est répertoriée dans la liste des fonctions personalisées.

Pour la rendre utilisable dans tous les classeurs, il faut la créer dans le classeur de macro perso.

A +
 

nat54

XLDnaute Barbatruc
Re : concatener

Luki à dit:
Bonjour Nat,

Lorsque tu crées une fonction dans un module de feuille, (à condition que tu ne la déclare pas privée), elle est répertoriée dans la liste des fonctions personalisées.

Pour la rendre utilisable dans tous les classeurs, il faut la créer dans le classeur de macro perso.

A +

Comment fait-on cela ?
 

bobjazz

XLDnaute Impliqué
Re : concatener

Bonjour le Forum

Merci pour vos reponces, pour Quote, oui mon souhait est que la formule renvoie E1,E2.
pour Luky, la macro et outil macro nouvelle macro, je l'essaierai ce soir, je suis toujours au bureau,
Merci à vous tous et je vous dit à ce soir
Bobjazz
 

bobjazz

XLDnaute Impliqué
Re : concatener

Re Bonsoir le Forum
En simplifiant, dans un premier temps, est ce que je pourrai afficher en fonction de ce que je peux trouver dans la ligne j'affice E1 ou E2 ou E3 ou E1,E2 ou E2,E3 ou E1,E3 ou E1,E2,E3

Merci d'avance

Bobjazz
 

ERIC S

XLDnaute Barbatruc
Re : concatener

re

il y avait des espaces dans ma formule (peut-être de ma faute ou lors de la copie sur le forum)????????
 

Pièces jointes

  • concatener.zip
    2.5 KB · Affichages: 22
  • concatener.zip
    2.5 KB · Affichages: 24
  • concatener.zip
    2.5 KB · Affichages: 23

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz