Microsoft 365 créer une liste déroulante provisoire par macro

ouillade

XLDnaute Nouveau
mon application a un moment crée une liste d'établissements dans la feuille etablissement
je cherche a créer une macro qui cré une liste déroulante dans la feuille menu.
cette liste déroulante sera effacée plus tard.
donc une autre macro pour l'effacer
je sais que vous pour beaucoup c'est certainement simple mais moi je galère.
un petit fichier pour visualiser
merci d'avance
 

Pièces jointes

  • macro liste.xlsm
    10 KB · Affichages: 7
Solution
Bonjour aussi @ouillade ;) ,
Bienvenue sur XLD :),

Pour ce que j'en ai compris, mettre le code suivant dans un module:
VB:
Sub ListeOUI()
Dim n&
   n = Application.WorksheetFunction.Match("zzz", Sheets("etablissement").Columns(1))
   With Sheets("menu").Range("i15").Validation
      .Delete
      .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=etablissement!$a$2:$a$" & n
   End With
End Sub

Sub ListeNON()
   Sheets("menu").Range("i15").Validation.Delete
End Sub

  • La première procédure crée la liste en I16 et la seconde la supprime.
  • Pour la liste, j'ai supprimé la ligne d'en-tête en doublon.
  • J'ai associé chacune des deux macros à un bouton (pour...

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour aussi @ouillade ;) ,
Bienvenue sur XLD :),

Pour ce que j'en ai compris, mettre le code suivant dans un module:
VB:
Sub ListeOUI()
Dim n&
   n = Application.WorksheetFunction.Match("zzz", Sheets("etablissement").Columns(1))
   With Sheets("menu").Range("i15").Validation
      .Delete
      .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=etablissement!$a$2:$a$" & n
   End With
End Sub

Sub ListeNON()
   Sheets("menu").Range("i15").Validation.Delete
End Sub

  • La première procédure crée la liste en I16 et la seconde la supprime.
  • Pour la liste, j'ai supprimé la ligne d'en-tête en doublon.
  • J'ai associé chacune des deux macros à un bouton (pour l'exemple).

nota : personnellement j'aurai trié la liste selon l'ordre alphabétique des noms ou selon les départements puis les noms.


edit : bonjour @Phil69970 :)
 

Pièces jointes

  • ouillade- macro liste- v1.xlsm
    19.2 KB · Affichages: 6
Dernière édition:

ouillade

XLDnaute Nouveau
Bonjour aussi @ouillade ;) ,
Bienvenue sur XLD :),

Pour ce que j'en ai compris, mettre le code suivant dans un module:
VB:
Sub ListeOUI()
Dim n&
   n = Application.WorksheetFunction.Match("zzz", Sheets("etablissement").Columns(1))
   With Sheets("menu").Range("i15").Validation
      .Delete
      .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=etablissement!$a$2:$a$" & n
   End With
End Sub

Sub ListeNON()
   Sheets("menu").Range("i15").Validation.Delete
End Sub

  • La première procédure crée la liste en I16 et la seconde la supprime.
  • Pour la liste, j'ai supprimé la ligne d'en-tête en doublon.
  • J'ai associé chacune des deux macros à un bouton (pour l'exemple).

nota : personnellement j'aurai trié la liste selon l'ordre alphabétique des noms ou selon les départements puis les noms.


edit : bonjour @Phil69970 :)
mille merci
la liste seras par département effectivement
pour l'exemple j'ai fait un simple copier coller
je vais des cet aprés midi mettre en application
encore merci
 

ouillade

XLDnaute Nouveau
Bonjour aussi @ouillade ;) ,
Bienvenue sur XLD :),

Pour ce que j'en ai compris, mettre le code suivant dans un module:
VB:
Sub ListeOUI()
Dim n&
   n = Application.WorksheetFunction.Match("zzz", Sheets("etablissement").Columns(1))
   With Sheets("menu").Range("i15").Validation
      .Delete
      .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=etablissement!$a$2:$a$" & n
   End With
End Sub

Sub ListeNON()
   Sheets("menu").Range("i15").Validation.Delete
End Sub

  • La première procédure crée la liste en I16 et la seconde la supprime.
  • Pour la liste, j'ai supprimé la ligne d'en-tête en doublon.
  • J'ai associé chacune des deux macros à un bouton (pour l'exemple).

nota : personnellement j'aurai trié la liste selon l'ordre alphabétique des noms ou selon les départements puis les noms.


edit : bonjour @Phil69970 :)
merci pour avoir répondu rapidement
je dois faire des bilans pour les écoles ou notre association interviens
la liste seras par departement pour l'exemple j'ai fait un simple copier coller
des cet apres midi je vais mettre en application
encore merci
 

Discussions similaires

Réponses
2
Affichages
268

Statistiques des forums

Discussions
312 108
Messages
2 085 361
Membres
102 874
dernier inscrit
Petro2611