Formulaire avec listbox en cascade

Rabiry

XLDnaute Nouveau
Bonjour a tous,

Avec mon exemple ci-joint, je souhaiterais que dans la feuille "itineraire" quand je double clic sur un des cellules de la plage (D9 : D36), un formulaire apparaisse.
Je souhaiterais que ce formulaire remplisse mon tableau comme mon exemple.

Comme je suis nulle en vba, j'ai cherché sur le net un truc similaire et adapté à mon besoin

Mon problème c'est de pouvoir lié le liste-box "Etapes" à la liste-box "Hôtels" pour que quand je choisi un étape, la liste des hôtels qui corresponds à la ville d'arrivée s'affiche dans la liste-box hôtels
Autre problème : comme ma liste Etapes est très longue, y a t il un moyen de filtrer la liste avec par exemple la saisie de 2 premier lettres.

J’apprécierais beaucoup votre aide

Merci d'avance!
 

Pièces jointes

  • MonFichier.xls
    277.5 KB · Affichages: 64
  • MonFichier.xls
    277.5 KB · Affichages: 63

Rabiry

XLDnaute Nouveau
Bonjour,
Veuillez m'excuser pour la confusion car les fichiers que j'ai mis n'est pas à jours
Les fichiers ci-joint sont ce que je souhaite utiliser pour faire mes calcules dans le classeur Cotation. Dans cette classeur, la feuille itinéraie fonctionne déjà ainsi que la feuille hebergement. Par contre je n'avance pas dans la feuille Resto
Je n'arrive pas à inserer dans les codes suivant une condition qui va conditionner les nombre de Petit déjeuner, nombre de déjeuner et Nombre de dinner. Remarque : les codes fonctionne bien
Sub Resto()
Set zone = zc(Sheets("Resto"), 4, 4) 'd4
For Each i In zone
If i <> "" Then
Set res = Workbooks("donnees.xls").Sheets("hotelresto").UsedRange.Find(Trim(i))
If Not res Is Nothing Then
i.Offset(0, -1) = res.Offset(0, -1) 'nom des villes
i.Offset(0, 1) = res.Offset(0, 5) 'tarif petit déjeuner
i.Offset(0, 2) = res.Offset(0, 7) 'tarif dejeuner
i.Offset(0, 3) = res.Offset(0, 6) 'tarif Diner
End If

Set zoneiti = zc(Sheets("itineraire"), 8, 9)
compte = 0
For Each it In zoneiti
If Trim(it) = Trim(res) Then compte = compte + 1
Next
i.Offset(0, 4) = compte 'nb de Pdj à chaque hotel
i.Offset(0, 5) = compte 'nb de Dej à chaque hotel
i.Offset(0, 6) = compte 'nb de Dn à chaque hotel
End If
Next
End Sub

Les conditions sont défini par la valeur de la cellule L3 feuille Itineraire ansi que la valeur dans la colonne D de la feuille Resto
Si L3 = Pension complète donc on ajoute le Nb Pdj, Nb Dj et Nb Dn
Si L3 = Demi Pension donc on ajout seulement le Nb Pdj et Nb Dn et les restes seront vides
Si L3 = Bed and breakfast on ajoute seulement le Nb de Pdj t les restes seront vides
S'ajoute à ces conditions si dans la feuille Resto une celle dans la colonne D contient le mot camping, on ajoute aucun Nb Pdj, ni Nb Dj ni Nb Dn

Merci beaucoup
 

Pièces jointes

  • Cotation.xls
    1.7 MB · Affichages: 3
  • Donnees.xls
    488.5 KB · Affichages: 4

sousou

XLDnaute Barbatruc
Bonjour
C'est plus claire comme cela. Je crois avoir compris la problématique, mais pas certain!
J'ai modifié la macro resto en essayant de conserver ta méthode pour ne pas te perdre,
Regarde si cela te convient et test avec d'autre itinéraires.
 

Pièces jointes

  • Cotation.xls
    1.6 MB · Affichages: 10

Discussions similaires