Fonction recherche d'une liste à partir d'un seul argument

  • Initiateur de la discussion stéphane
  • Date de début
S

stéphane

Guest
Bonsoir le forum,

Existe-il une fonction capable de rechercher une liste de données correspondant à un seul et même argument?

EXEMPLE :
Ile de France Paris
Ile de France Haut de Seine
Ile de France Seine Saint Denis
Ile de France Val d'Oise
Ile de France Seine et Marne
Ile de France Yvelines

Poitou-Charentes Deux-Sèvres
Poitou-Charentes Charentes
Poitou-Charentes Charentes Maritimes
Poitou-Charentes Vienne


Est-il donc possible par une recherche sur la région d'obtenir la liste des départements?

De la même manière, si on recherche Poitou-Charentes, ne pas avoir de cellules vides à cause des régions qui seraient avant dans la liste ?

Un grand merci à tous ceux qui s'attarderont sur ces questions et bonne soirée à vous et tous ceux du forum.

Stéphane.
 
@

@+Thierry

Guest
Salut Stéphane, le Forum

Pas vraiment sûr de t'avoir compris... Surtout pour la présentation des données à analyser...

Admettons que :
Colonne "A"
"Ile de France "
etc

Et Colonne "B"
"Paris"
etc


Donc dans ce cas une colonne pour les régions et la colonne suivante pour les départements... Une macro (oui oui moi je fais tout tout en VBA.... Mais ceci dit il doit y avaour une fonction qui doit te le faire sûrement !)

Donc voici une macro qui va générer une nouvelle feuille avec la liste des occurrences retournées :

Option Explicit
Option Compare Text

Sub ListingOccurence()
Dim Plage As Range, Cell As Range
Dim WS As Worksheet
Dim MyString As String
Dim i As Integer

Set WS = ThisWorkbook.Sheets("Feuil1") ' <<<< A AJUSTER AVEC LE NOM DE LA FEUILLE

Set Plage = WS.Range("A1:A" & WS.Range("A65536").End(xlUp).Row)

MyString = InputBox("Saisissez le Département")

Sheets.Add after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Range("A1") = MyString
i = 2

For Each Cell In Plage
If Cell = MyString Then
With Sheets(Sheets.Count)
.Cells(i, 1) = Cell.Offset(0, 1)
i = i + 1
End With
End If
Next Cell

If i = 2 Then
MsgBox "Pas d'Occurence trouvée pour : " & MyString
Application.DisplayAlerts = False
Sheets(Sheets.Count).Delete
Application.DisplayAlerts = True
End If

End Sub


Si il n'y a pas de valeur retournée, un message te l'indiquera...

Voilà, dans un premier temps avant que l'on te propose des formules...

Bonne Soirée
@+Thierry
 
M

Monique

Guest
Bonsoir,

Une liste de validation dans laquelle tu choisis ta région.
Et des formules.
NB.SI et Index equiv concaténé
Formule matricielle à valider en appuyant simultanémnt su ctrl, maj et entrée
 

Pièces jointes

  • ListeRegionsDepart.zip
    4.6 KB · Affichages: 38
S

stéphane

Guest
Bonjour le forum,

Bonjour Thierry & Monique,

Merci à tous les deux pour vos précieuses informations.

Thierry, en fait il faudrait que tu me guide pour savoir comment utiliser ta macro !

Monique, merci pour le fichier, TRES clair. Mais qu'est-ce que c'est compliqué pour obtenir une seule info !
J'ai une 2ème question certainement plus simple :
si on a des totaux par région mais avec des "0" entre comment récupérer l'info sans ligne vide entre ?

EX : 0 200
0 100
Total Ile de Frce 300
0 350
0 250
Total Poitou Char. 600
TOTAL Global 900



Comment faire pour avoir une synthèse avec seulement les Totaux par région + Total général et sans ligne vide ?

Merci encore pour votre aide

Stéphane.
 

Discussions similaires

Statistiques des forums

Discussions
312 681
Messages
2 090 878
Membres
104 681
dernier inscrit
Gtcheumawe