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

Recherche sur une plage variable

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
 

eddy1975

XLDnaute Occasionnel
Re : Recherche sur une plage variable

Bonjour Ludovic et bienvenue sur le Forum,

Un fichier en exemple permettra de mieux comprendre ton exemple et surtout de trouver la solution.
 

Lolote83

XLDnaute Barbatruc
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
 

Ludovic

XLDnaute Nouveau
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

  • exemple.xls
    155.5 KB · Affichages: 57
  • exemple.xls
    155.5 KB · Affichages: 54

Ludovic

XLDnaute Nouveau
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
 

eddy1975

XLDnaute Occasionnel
Re : Recherche sur une plage variable

Re,

Un exemple. A voir et à adapter.

@+
 

Pièces jointes

  • Planning location Bruno3.xlsm
    138 KB · Affichages: 34
  • Planning location Bruno3.xlsm
    138 KB · Affichages: 37
Dernière édition:

job75

XLDnaute Barbatruc
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

  • exemple(1).xls
    58.5 KB · Affichages: 33
  • exemple(1).xls
    58.5 KB · Affichages: 37
Dernière édition:

job75

XLDnaute Barbatruc
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

  • exemple(2).xls
    60 KB · Affichages: 45
  • exemple(2).xls
    60 KB · Affichages: 47
Dernière édition:

job75

XLDnaute Barbatruc
Re : Recherche sur une plage variable

Re,

Je viens de simplifier le code, prenez la dernière version.

J'ai oublié de préciser que j'ai supprimé vos colonnes masquées G et H car elles étaient inutiles.

A+
 

job75

XLDnaute Barbatruc
Re : Recherche sur une plage variable

Re,

De même votre colonne A masquée avec la formule volatile =AUJOURDHUI() est inutile, voire nuisible.

Je vous conseille donc d'utiliser ce fichier (2 bis).

A+
 

Pièces jointes

  • exemple(2 bis).xls
    59.5 KB · Affichages: 48
  • exemple(2 bis).xls
    59.5 KB · Affichages: 50

job75

XLDnaute Barbatruc
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+
 

Ludovic

XLDnaute Nouveau
Re : Recherche sur une plage variable


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.
 

job75

XLDnaute Barbatruc
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+
 

Discussions similaires

Réponses
16
Affichages
555
Réponses
7
Affichages
577
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…