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

recherche depuis liste avec nom de plage de cellule.

  • Initiateur de la discussion Initiateur de la discussion wrap food
  • 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 !

wrap food

XLDnaute Occasionnel
Bonjour,

Je suis bloqué sur une fonction recherche....

J'ai dans un dossier un onglet "basse" dans lequelle j'ai une liste de donnée " choix de nemus" avec lesquelles j'ai créé une liste déroulante, jusque la tout va bien...

Je souhaietrais dans l'onglet saisie "aves la liste déroulante" l'opérateur selection le menu de son choix et qu'automatiquement s'affiche les ingredients qui composent le "plateau" sachant que j'ai nomer dans " la base " chaque type d'ingrédient par famille " entree; plat; garniture....etc)

Je mets fichier pour que cela soit plus clair que mon expliquation du dessus.....

Merci de votre aide par avance
 

Pièces jointes

Re : recherche depuis liste avec nom de plage de cellule.

Merci Papou-net

Je suis désolé mais j'ai du mal à tout comprendre dans le code .
Pourriez vous m'eclairer de vos lumieres.

je ne comprends pas a quoi correspond

Range("C" & i) = Cel.Offset(0, i - 6)

et c'est idem pour :
For i = 7 To 13

vraiment désolé mais j'aime bien savoir refaire et comprendre

SVP

Merci encore de votre aide
 
Re : recherche depuis liste avec nom de plage de cellule.

Bonsoir wrap food,

C'est tout à ton honneur de vouloir comprendre, et c'est la meilleure façon d'apprendre.

Voici donc la copie commentée du code que je t'ai précédemment proposé :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cel As Range ' Variable représentant la cellule qui contient le menu recherché
' si la cellule modifiée (Target) est en B5, les suivantes sont exécutées
' sinon fin de la macro
If Target.Address = "$B$5" Then
  ' Désactivation de l'événement Change pour éviter la redondance des actions
  ' en effet, chaque modification relance l'événement, d'où risque de ralentissement ou de blocage
  Application.EnableEvents = False
  ' La ligne suivante recherche la cellule contenant la menu dans la feuille Base (Feuil1)
  ' et l'affecte à la variable Cel
  Set Cel = Feuil1.Range("B:B").Find(Target.Value, LookIn:=xlValues)
  ' La boucle suivante parcourt les lignes 7 à 13 de la colonne C sur la feuille Saisie (Feuill active)
  For i = 7 To 13
    ' la cellule C(i) prend la valeur de la cellule décalée par rapport à la cellule Cel
    ' Offset(0, i - 6) veut dire : cellule située sur la même ligne (0 ligne de décalage),
    ' et sur la colonne située i-6 colonne à droite
    ' soit si i=7 : décalage de 0 ligne et de 1 colonne à droite
    Range("C" & i) = Cel.Offset(0, i - 6)
  Next
Application.EnableEvents = True ' Rétablit la détection d'événement
End If
End Sub
Ne perds pas de vue que si tu as besoin de précisions sur une instruction VBA, le plus simple est de la sélectionner dans le code et d'appuyer sur F1. Tu obtiendras ainsi tous les paramètres utiles et leurs descriptions.

Cordialement.
 
- 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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…