Liste de données avec critères à partir d'une plage non ordonnée

Bonjour à toutes et tous, une très belle année 2025 :)

Je cherche un moyen, via des formules si possible, d'obtenir dans une liste les valeurs de toutes les cellules d'une plage qui présentent certains critères.

Vous trouverez en PJ mon fichier Excel, voici mon besoin :

- Onglet EPZ @ base, il y a la plage Locations_Base qui va de A1 à AX91. Vous constaterez que c'est une plage non ordonnée qui doit rester telle quelle

- Onglet BUT, j'illustre ce que je voudrais y retrouver : la liste, dans une seule colonne, de toutes les valeurs de la plage Locations_Base qui aurait plus de 6 caractères. en réalité ce sont les celulles ayant des valeurs ce 6 ou 7 caratères car ce sont des adresses logistiques.

j'ai essayé de faire comprendre à GPT ou Copilot mais rien n'y fait, je me fais balader entre les fonctions SI, NBCAR, INDEX, TRIER, FILTRE...

Vous serez assurément bien meilleurs et meilleures qu'une IA:)

En vous remerciant par avance, et dispo pour plus d'infos!

Bonjour et meilleurs vœux également !

Un essai ?

=LET(p;TRIER(DANSCOL(Locations_Base));FILTRE(p;NBCAR(p)=7))

Edit : A voir pour ajuster selon le nombre de caractères. Peut-être mettre > à 6 selon le besoin. Et également peut-être enlever la fonction TRIER si l'ordre n'a pas d'importance.

Bonjour JB_,

C'est parfait !

J'ai uniquement renseigné >5 en fin de formule pour prendre les valeurs de 6 caractères ou plus :)

Pour ma compréhension personelle je vais creuser un peu les fonctions, LET et DANSCOL notamment , je ne les connaissais pas du tout

Ça me fait gagner pas mal de temps pour ce premier jour de l'année :)

Un grand merci !

Bonne continuation ;)

Clément C

Bonjour Clemcaze et bonne année 2025 et plein succès avec Excel,

Je ne pense pas que ce que tu demandes soit réalisable avec des formules.

Par contre, avec VBA, c'est assez simple.

Je te joins ton classeur adapté : il y a un bouton dans l'onglet But : il suffit de cliquer et la liste sera reconstituée.

Il faut, naturellement, que l'onglet EPZ @ base soit toujours configuré de la même manière sinon il faudra adapter les critères de colonnes et de lignes.

Le VBA est documenté et facile à comprendre mais si tu as besoin d'informations complémentaires n'hésites pas à me revenir

Bonne continuation

Chris

Bonne année, le forum,

Salut tout le monde!

une solution VBA pour bien commencer l'année!
Un double-clic sur la feuille 'EPZ' démarre la macro.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
Dim tTab, Dico As Object
'
Cancel = True
Set Dico = CreateObject("scripting.dictionary")
tTab = Range("A1").Resize(UsedRange.Rows.Count, UsedRange.Columns.Count).Value
'
For x = 1 To UBound(tTab, 1)
    For y = 1 To UBound(tTab, 2)
        If Len(tTab(x, y)) = 6 Or Len(tTab(x, y)) = 7 Then Dico(tTab(x, y)) = vbEmpty
    Next
Next
With Worksheets("But")
    .Cells.Clear
    .Range("A1").Resize(Dico.Count, 1).Value = WorksheetFunction.Transpose(Dico.keys)
    .Range("A1").Resize(Dico.Count, 1).Sort key1:=.Range("A1"), order1:=xlAscending, Orientation:=xlByRows, Header:=xlNo
    .Activate
End With
'
End Sub

A+

17clemcaze.xlsm (246.48 Ko)
Rechercher des sujets similaires à "liste donnees criteres partir plage ordonnee"