IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

ouverture automatique et fonctions du menu déroulant userform


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2014
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 137
    Par défaut ouverture automatique et fonctions du menu déroulant userform
    re salut a tous

    je voudrais pouvoir a partir de ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
     
    If Not Intersect(Target, Range("A2")) Is Nothing Then
    Sheets("compte 1").Select
    Worksheets("compte 1").Cells(2, "a").Select
     
    ElseIf Not Intersect(Target, Range("A3")) Is Nothing Then
    Sheets("compte 2").Select
    Worksheets("compte 2").Cells(3, "a").Select
     
    ElseIf Not Intersect(Target, Range("A4")) Is Nothing Then
    Sheets("compte 3").Select
    Worksheets("compte 3").Cells(4, "a").Select
     
    ElseIf Not Intersect(Target, Range("A5")) Is Nothing Then
    Sheets("compte 4").Select
    Worksheets("compte 4").Cells(5, "a").Select
     
    ElseIf Not Intersect(Target, Range("A6")) Is Nothing Then
    Sheets("compte 5").Select
    Worksheets("compte 5").Cells(6, "a").Select
     
    ElseIf Not Intersect(Target, Range("A7")) Is Nothing Then
    Sheets("compte 6").Select
    Worksheets("compte 6").Cells(7, "a").Select
     
    End If
     
    End Sub
    une fois la feuille et le compte sélectionner

    avoir le menu déroulant userform ouvert automatiquement pour sélectionner 1 des 10 Fournisseurs dans la liste

    et retrouver celui-ci en dessous de la ligne 7

    et de pouvoir dans ce meme compte reouvrir le deroulant par 1 clic pour changer de Fournisseur

    merci de votre aide je suis loin d être un maître en la matière!!!

  2. #2
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    Bonjour,
    Pourrais-tu être plus clair dans l'exposition de ton problème? Peut-être peux-tu nous transmettre une copie d'écran de ton fichier afin que nous visualisions ce que tu veux faire.
    Néanmoins :
    • La syntaxe de Cells est la suivante :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Cells(n° ligne,  colonne)
      On utilise le n° de la colonne et pas son nom, donc par exemple si tu veux écrire toto dans la cellule A2 :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Cells(2, 1).Value = "toto"
    • une fois la feuille et le compte sélectionné
      Que veut dire "sélectionné"? Est-ce que tu veux écrire dans une cellule le compte voulu?
    • avoir le menu déroulant userform ouvert automatiquement
      Qu'entends-tu par "automatiquement"? Est-ce dès que tu as écrit le nom de compte dans une cellule, un userform s'ouvre? Alors intéresse-toi aux évènements dans la feuille de calcul : http://silkyroad.developpez.com/VBA/EvenementsFeuille/. En particulier, Worksheet_Change.
    • En ce qui concernce l'ouverture d'un userform : lis le tuto sur les userform, tu y trouveras tout ce dont tu as besoin : http://silkyroad.developpez.com/VBA/UserForm/
    • Enfin, peux-tu nous expliquer ce que tu veux faire avec le code que tu nous présentes? Je ne comprends pas bien l'intérêt.

  3. #3
    Membre très actif
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2014
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 137
    Par défaut
    salut

    j ai 6 feuilles "comptes"

    dans n importe quelle feuille g 6 comptes et 10 fournisseurs par compte qui sont les mêmes sur chaque feuille

    exemple : je suis dans la feuille "compte 2" / je double clic sur "compte 5" (a6) / je me retrouve sur la feuille "compte 5" /

    ou s ouvre automatiquement le menu deroulant userforme du "compte 5" (a6) de la feuille "compte 5" / la je clic sur "fournisseur 9" du deroulant /

    le deroulant se ferme / la cellule "fournisseur 9" (a253) se positionne en dessous de la cellule (a7)

    je precise que le menu deroulant du fichier n est pas encore associer a la cellule du compte 5 de la feuille compte 5

    Que veut dire "sélectionné"?

    ca veut dire que le fait d ouvrir une autre feuille la cellule du "compte 5"(a6) va etre selectionner d office donc grace a cette selection le deroulant souvre seulNom : Capture.JPG
Affichages : 893
Taille : 257,0 Ko

  4. #4
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    En fait, ce qu'il faut que tu décides c'est "quand est-ce que le userform doit s'ouvrir"? Ensuite, une fois que tu sais ça, il faut trouver la fonction qui correspond. Si je comprends bien, ton UserFOrm doi s'ouvrir lorsqu'une certaine cellule est sélectionnée. Tu peux donc utiliser Worksheet_SelectionChange. Pou afficher un UserForm, on utilise UserForm.Show.
    Comment décide-t-on des fournisseurs à afficher dans la liste en fonction du compte?

    Ensuite, en ce qui concerne ton code pour le double-clique, je pense que tu pourrais plus simplement utiliser des liens hypertextes. C'est exactement la même fonctionnalité.

  5. #5
    Membre très actif
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2014
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 137
    Par défaut
    En fait, ce qu'il faut que tu décides c'est "quand est-ce que le userform doit s'ouvrir"?
    il s ouvre de 2 facons

    la 1ere :suite au double clic la nouvelle feuille souvre et le deroulant avec

    la 2eme :si je reste dans la meme feuille c juste en selectionnant le compte pour changer de fournisseur

    g bien compris que je doit mettre mon code dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     
    End Sub
    mais c quoi le code ? la et mon probleme et ce code doit ce trouver dans toutes les feuilles ??


    Comment décide-t-on des fournisseurs à afficher dans la liste en fonction du compte?
    la list des fournisseurs (10) et la meme pour toutes les feuilles et tous les comptes (1 seul userform)

    donc une fois mon deroulant ouvert je clic sur un des 10 fournisseurs qui se positionne en dessous de la ligne 7


    utiliser des liens hypertextes
    c quoi et comment ont fais ca ???

  6. #6
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    mais c quoi le code ? la et mon probleme et ce code doit ce trouver dans toutes les feuilles ??
    Si tu veux ouvrir un UserForm, comme je te le disais précédemment, il faut utiliser UserForm.Show, en adaptant avec le nom du UserForm.
    Oui, il faudra le mettre dans toutes les feuilles.
    utiliser des liens hypertextes
    c quoi et comment ont fais ca ???
    C'est un peu comme sur Google : tu cliques dessus et ça t'amène où tu veux. Un exemple :
    Nom : lien hypertexte.png
Affichages : 853
Taille : 35,8 Ko
    En cliquant sur le lien, on arrive à la cellule A1 de la feuille "Arrivee".

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/02/2016, 11h36
  2. [XL-2010] RECHERCHEV fonction de menu déroulant
    Par splog dans le forum Excel
    Réponses: 2
    Dernier message: 29/01/2014, 17h45
  3. Insérer une valeur automatiquement par rapport à un menu déroulant
    Par mateo78711 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 03/12/2012, 16h02
  4. recharger label en fonction du menu déroulant asp.net
    Par _haroun dans le forum ASP.NET
    Réponses: 2
    Dernier message: 30/04/2010, 18h17
  5. Menu déroulant avec préselection automatique
    Par Invité dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/06/2005, 12h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo