Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Trier des données

hassan.zer

XLDnaute Occasionnel
Bonjour,

Je souhaite trier des données issues d'un tableau mais je bloque, pourriez-vous m'aider, merci.
En PJ le document plus clair.
 

Pièces jointes

  • Tri de données.xlsx
    12.2 KB · Affichages: 59

job75

XLDnaute Barbatruc
Re : Trier des données

Bonjour hassan.zer,

Avec cette fonction VBA :

Code:
Function TRIAGE$(plage1 As Range, plage2 As Range, Optional car$ = "?")
Dim i&
For i = 1 To plage1.Count
  If LCase(plage1(i)) Like LCase(car) Then TRIAGE = TRIAGE & vbLf & plage2(i)
Next
TRIAGE = Mid(TRIAGE, 2)
End Function
Voyez son utilisation en D11 G11 J11 du fichier joint.

Nota 1 : l'argument car est facultatif.

Nota 2 : le nom de la fonction ne peut pas être TRI ou TRIER (sur Excel 2003 du moins).

A+
 

Pièces jointes

  • Tri de données(1).xls
    59.5 KB · Affichages: 28

Gareth

XLDnaute Impliqué
Re : Trier des données

Bonjour à tous,

Ci-joint une autre solution macro qui créé les 3 tableaux.
Les macros existent aussi pour chaque tableau.
 

Pièces jointes

  • Tri de données (1).xlsm
    30.8 KB · Affichages: 32

job75

XLDnaute Barbatruc
Re : Trier des données

Re,

On peut aussi nommer la fonction CONCATSI et la présenter comme SOMME.SI :

Code:
Function CONCATSI$(plage1 As Range, critere$, plage2 As Range, separateur$)
Dim i&
For i = 1 To plage1.Count
  If LCase(plage1(i)) Like LCase(critere) Then CONCATSI = CONCATSI & separateur & plage2(i)
Next
CONCATSI = Mid(CONCATSI, Len(separateur) + 1)
End Function
Ici l'argument critere doit toujours être renseigné : utiliser au besoin les caractères génériques ? et *.

Avec le séparateur CAR(10) les cellules doivent être formatées avec le retour à la ligne automatique.

Appliquer aussi l'ajustement automatique à la hauteur des lignes.

Fichier joint.

Edit : salut Gareth

A+
 

Pièces jointes

  • CONCATSI(1).xls
    60.5 KB · Affichages: 36
Dernière édition:
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…