XL 2016 Comment différencier 2 codes VBA pour qu'ils s'exécutent

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

thomasdu43

XLDnaute Occasionnel
Bonjour,
Je souhaite coller un code VBA dans une feuille contenant déjà un code. Le code à coller est identique à l'autre, seules les cellules de destination et la base de données à laquelle il se réfère changent.
Comment distinguer chaque code l'un de l'autre ?

Ci-dessous le début du code et en rouge les éléments différenciants de chacun d'eux.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([b3:b3], Target) Is Nothing And Target.Count = 1 Then
Set d1 = CreateObject("Scripting.Dictionary")
For Each c In [choix1]: d1(c.Value) = "": Next c
Target.Validation.Delete
Target.Validation.Add xlValidateList, Formula1:=Join(d1.keys, ",")
End If
'-- niv 2
If Not Intersect([b4:b4], Target) Is Nothing And Target.Count = 1 Then
Set d1 = CreateObject("Scripting.Dictionary")
For Each c In [choix2]
If c.Offset(0, -1) = Target.Offset(-1) Then d1(c.Value) = ""
Next c
If d1.Count > 0 Then
Target.Validation.Delete
Target.Validation.Add xlValidateList, Formula1:=Join(d1.keys, ",")
End If
End If


Faut il qu'ils soient dans 2 feuilles différentes ?

Merci de votre aide.
 
Bonjour,

Sur la base du fichier de l' autre conversation puisque le fichier joint qui était ici a disparu.

Ce n'est pas la macro qu'il faut changer mais les sources qui sont définies dans les noms Choix1, Choix2, Choix3.
J'y ai remplacé simplement le nom de la feuille d'origine.
Je vois que ces noms sont définis en comptant le nombre de valeur dans la colonne entière A:A. C'est une méthode déconseillée (fuite de mémoire, alourdissement des temps de calculs).
Vous êtes sous 2016, alors pourquoi ne pas utiliser les tableaux structurés (sous xl2010 c'est dans insertion/tableaux - sous 2016 ?).
Donnez-leur des noms explicites genre Tbl_BDPropriétés, Tbl_BDGénérale.

Cordialement
 

Pièces jointes

Bonjour,

Sur la base du fichier de l' autre conversation puisque le fichier joint qui était ici a disparu.

Ce n'est pas la macro qu'il faut changer mais les sources qui sont définies dans les noms Choix1, Choix2, Choix3.
J'y ai remplacé simplement le nom de la feuille d'origine.
Je vois que ces noms sont définis en comptant le nombre de valeur dans la colonne entière A:A. C'est une méthode déconseillée (fuite de mémoire, alourdissement des temps de calculs).
Vous êtes sous 2016, alors pourquoi ne pas utiliser les tableaux structurés (sous xl2010 c'est dans insertion/tableaux - sous 2016 ?).
Donnez-leur des noms explicites genre Tbl_BDPropriétés, Tbl_BDGénérale.

Cordialement
ok merci. Bonne journée.
 
- 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

Discussions similaires

Réponses
1
Affichages
348
Réponses
2
Affichages
406
Réponses
6
Affichages
416
Réponses
16
Affichages
1 K
Retour