Bonjour le fil,
Malgré une longue recherche sur le forum je n'arrive pas à résoudre mon problème, j'espère que vous pourrez m'aider !
J'ai fait une petite macro toute simple d'insertion/suppression de feuille avec mise en forme et recherche de données dans une base.
A cela je voudrais ajouter pour chaque feuille créée une liste de choix (la même pour toutes les feuilles créées) sur une plage de cellule définie dans la feuille.
Par exemple : je veux que sur chaque cellule de la plage A1 : A10 une liste de données (validées) soit disponible avec élimination si la donnée est déjà présente dans la plage A1 A10 et cela pour toutes les nouvelles feuilles créées par ma précédente macro.
J'ai trouvé sur un poste une macro qui fonctionne parfaitement pour le faire mais seulement si je mets le code directement dans la feuille (évènement sur la feuille) malheureusement je ne sais pas du tout comment faire pour le que :
soit le code soit présent sur chaque nouvelle feuille créée soit faire le lien avec la première macro pour que cela fonctionne d'un module.
Voici le code que j'ai trouvé :
J'espère que vous pourrez m'aider, j'avoue que la plupart du temps j'arrive à me débrouiller avec les différents fils du forum mais cette fois je sèche..
Malgré une longue recherche sur le forum je n'arrive pas à résoudre mon problème, j'espère que vous pourrez m'aider !
J'ai fait une petite macro toute simple d'insertion/suppression de feuille avec mise en forme et recherche de données dans une base.
A cela je voudrais ajouter pour chaque feuille créée une liste de choix (la même pour toutes les feuilles créées) sur une plage de cellule définie dans la feuille.
Par exemple : je veux que sur chaque cellule de la plage A1 : A10 une liste de données (validées) soit disponible avec élimination si la donnée est déjà présente dans la plage A1 A10 et cela pour toutes les nouvelles feuilles créées par ma précédente macro.
J'ai trouvé sur un poste une macro qui fonctionne parfaitement pour le faire mais seulement si je mets le code directement dans la feuille (évènement sur la feuille) malheureusement je ne sais pas du tout comment faire pour le que :
soit le code soit présent sur chaque nouvelle feuille créée soit faire le lien avec la première macro pour que cela fonctionne d'un module.
Voici le code que j'ai trouvé :
Code:
Private Sub Workbook_SelectionChange(ByVal Target As Range)
' si longueur totale du menu <200
If Not Intersect([A1:A10], Target) Is Nothing And Target.Count = 1 Then
temp = ""
For Each c In [LISTE_NOMS]
If IsError(Application.Match(c, Range(Cells(1, Target.column), Cells(10, Target.column)), 0)) Then
temp = temp & c.Value & ","
End If
Next c
Target.Validation.Delete
If Len(temp) = 0 Then
temp = Target & ","
End If
Target.Validation.Add xlValidateList, Formula1:=Left(temp, Len(temp) - 1)
End If
End Sub
J'espère que vous pourrez m'aider, j'avoue que la plupart du temps j'arrive à me débrouiller avec les différents fils du forum mais cette fois je sèche..