Recherche sur une plage variable

  • Initiateur de la discussion Initiateur de la discussion Ludovic
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Ludovic

XLDnaute Nouveau
Bonjour,

je lutte à trouver une solution pour mon tableau de disponibilité, pourriez-vous m'aider s'il vous plaît? 🙁

en fait voilà :
je voudrais une formule de recherche (par exemple) qui me permettrait de faire la moyenne (par exemple) d'une plage de cellule en fonction des dates que j'aurais entrées au préalable dans une autre feuille.

si je met ses "par exemple" c'est dans le cas où quelqu'un aurait compris ma demande et pourrait me proposer une autre solution.

Vous remerciant par avance
 
Re : Recherche sur une plage variable

Salut Ludovic,

Difficile de répondre sans avoir au préalable un fichier exemple.
Peux tu joindre un fichier avec éventuellement des explications sur ce que tu souhaites avoir comme résultat.

Cordialement
@+ Lolote83
 
Re : Recherche sur une plage variable

Tout d'abord merci de votre réactivité...

de plus je voulais préciser que je n'y connaît absolument rien en langage VBA, ce qui veut donc dire que j'aimerai "si possible" faire abstraction de ce genre de solution pour pouvoir toujour gérer sans me perdre :$

Voilà un exemple de ce que je demande, avec un peu plus d'explications sur la feuille excel.

Merci d'avance
 

Pièces jointes

Re : Recherche sur une plage variable

Plus personne pour m'aider? :'(
J'ai vraiment besoin de quelqu'un s'il vous plaît... je n'arrête pas de me prendre la tête sur les différentes possibilités pour pallier à ce probleme
 
Re : Recherche sur une plage variable

Bonsoir Ludovic, le fil,

Pour ce genre de problème un code VBA est plus facile à créer (et même à comprendre).

La macro dans le code de la feuille "Réservation" (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim a, f As Worksheet, P As Range, arrivee, depart, liste()
Dim lieu, flag As Boolean, c As Range, n&
a = Array("S1", "S2", "S3") 'liste des lieux à adapter
Set f = Sheets("Liste")
Set P = Intersect(Range("G2:G" & Rows.Count), Me.UsedRange.EntireRow)
f.Range("A2:A" & f.Rows.Count).ClearContents 'RAZ
P.EntireColumn.Validation.Delete 'RAZ
If Intersect(ActiveCell, P) Is Nothing Then Exit Sub
arrivee = ActiveCell(1, -1).Value2
depart = ActiveCell(1, 0).Value2
If depart > arrivee And IsNumeric(arrivee) And IsNumeric(depart) Then
  ReDim liste(1 To P.Rows.Count, 1 To 1)
  For Each lieu In a
    flag = True
    If ActiveCell <> lieu Then
      For Each c In P
        If c = lieu And Not (c(1, 0) < arrivee Or c(1, -1) > depart) _
          Then flag = False: Exit For
      Next c
    End If
    If flag Then n = n + 1: liste(n, 1) = lieu
  Next lieu
End If
With ActiveCell.Validation
  If n Then 'liste de validation
    f.[A2].Resize(n) = liste
    f.[A2].Resize(n).Name = "Liste"
    .Add xlValidateList, Formula1:="=Liste"
  Else 'interdiction d'entrer une valeur
    .Add xlValidateTextLength, Formula1:="0", Formula2:="0"
    .ErrorMessage = "Dates à revoir !"
  End If
End With
End Sub
Le nombre de lieux peut être quelconque, il suffit d'adapter le tableau a.

Edit : ajouté And IsNumeric(arrivee) And IsNumeric(depart)

Fichier joint.

Bonne fin de soirée.
 

Pièces jointes

Dernière édition:
Re : Recherche sur une plage variable

Bonjour Ludovic, le forum,

Il n'est pas inutile d'ajouter cette macro :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Worksheet_SelectionChange ActiveCell
End Sub
De cette manière, si l'on efface simultanément plusieurs cellules (G2:G4 par exemple), la liste de validation de la cellule active (G2) est recalculée sans qu'on ait besoin de modifier la sélection.

De même si G3 ou G4 sont modifiées par macro, via l'UserForm par exemple.

Edit : notez que pour l'UserForm la liste de la feuille "Liste" sera bien utile.

Fichier (2).

Bonne journée.
 

Pièces jointes

Dernière édition:
Re : Recherche sur une plage variable

Re,

Maintenant si vous voulez utiliser un UserForm pour renseigner votre base de données :

- revoyez la feuille "Réservation" et/ou l'UserForm pour qu'il y ait correspondance des données

- ouvrez une nouvelle discussion car c'est un autre problème.

A+
 
Re : Recherche sur une plage variable

Re,

Maintenant si vous voulez utiliser un UserForm pour renseigner votre base de données :

- revoyez la feuille "Réservation" et/ou l'UserForm pour qu'il y ait correspondance des données

- ouvrez une nouvelle discussion car c'est un autre problème.

A+

Bonjour,

Vous êtes vraiment très doué. Merci beaucoup.
Serait-ce possible que vous m'apprenez en quelque ligne votre VBA s'il vous plait? Parce que la pour le coup, il me faudrait rajouter énormément le ligne dans le tableau de réservation.
 
Re : Recherche sur une plage variable

Re,

Le nombre de lignes du tableau de réservations n'a aucune importance.

La seule chose que vous ayez à faire, je le répète, c'est d'adapter la liste des lieux de l'array a.

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour