[RESOLU] COMBOBOX qui lance une deuxième macro?

PAPA WALKER

XLDnaute Junior
Bonjour à tous,

J'ai un fichier dan lequel j'ai créé 2 combo box
La première lance une macro qui va extraire la liste des communes liées au département sélectionné dans cette combo box
La seconde lance une deuxième macro qui copie des formules dans quelques cellules et ensuite en fige le résultat.

Je ne comprends pas pourquoi, quand je lance la première macro depuis la combobox1, la macro N° 2 qui ne devrait se lancer qu'avec la combobox2, se lance elle aussi à la suite?


Private Sub COMBODEPART_Change()
Application.Run "COMBODEPART"
End Sub

Private Sub COMBOCOMMUNES_Change()
Application.Run "REFRESH"
End Sub

-----------------------------------------------------------------

Sub COMBODEPART()

'Macro mettant à jour la liste des communes en regard du numéro de département

'On fige les feuilles et on supprime les alertes afin d'accélérer le traitement.
Application.DisplayAlerts = False
Application.ScreenUpdating = False

'Définition des variables
Dim CHOIXDEPARTEMENT As Variant
Dim DLIGNEVILLE As Long
CHOIXDEPARTEMENT = Sheets("MENU").[B5:B5].Value
'Nettoyage de la liste des communes
Sheets("EXTRACT").Select
Range("COMMUNES").Select
Selection.ClearContents
Range("INSEE").Select
Selection.ClearContents
Sheets("EXTRACT").[A2].Value = CHOIXDEPARTEMENT
'Filtre de la liste des communes à partir du département sélectionné dans la comboBox en B5
Sheets("BASE").[A1:E500000].AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("EXTRACT").[A1:A2], CopyToRange:=Sheets("EXTRACT").[B1:C1], Unique:=True
'récupération de la variable signifiant le numéro de ligne correspondant à la dernière commune de la liste
DLIGNEVILLE = Range("B10000").End(xlUp).Row

'Nommage du champ COMMUNES selon le nombre de lignes présentes dans la colonne B
Set LISTEVILLES = Range("B2:B" & DLIGNEVILLE + 1)
ActiveWorkbook.Names.Add Name:="COMMUNES", RefersTo:=LISTEVILLES
'Nommage du champ INSEE selon le nombre de lignes présentes dans la colonne C
Set LISTEINSEE = Range("C2:C" & DLIGNEVILLE + 1)
ActiveWorkbook.Names.Add Name:="INSEE", RefersTo:=LISTEINSEE
Range("A1").Select
Sheets("MENU").Select
Range("B7:B14").ClearContents
Range("A1").Select
____________________________________________

Sub REFRESH()
'Retour à la Feuuille MENU et on réécrit les formules de recherche des correspondants
'On fige les résultats
'On fige les feuilles et on supprime les alertes afin d'accélérer le traitement.
Application.DisplayAlerts = False
Application.ScreenUpdating = False

Sheets("MENU").Select
Range("B7").FormulaR1C1 = _
"=INDEX(BASE!R1C1:R37619C11,MATCH(R[1]C,BASE!R1C5:R37619C5,0),10)"
Range("B8").FormulaR1C1 = "=VLOOKUP(R[-2]C,EXTRACT!R1C2:R1500C3,2,FALSE)"
Range("B9").FormulaR1C1 = _
"=INDEX(BASE!R1C1:R37619C11,MATCH(R[-1]C,BASE!R1C5:R37619C5,0),6)"
Range("B10").FormulaR1C1 = _
"=INDEX(BASE!R1C1:R37619C11,MATCH(R[-2]C,BASE!R1C5:R37619C5,0),7)"
Range("B11").FormulaR1C1 = _
"=INDEX(BASE!R1C1:R37619C11,MATCH(R[-3]C,BASE!R1C5:R37619C5,0),8)"
Range("B12").FormulaR1C1 = "=VLOOKUP(R13C2,LISTES!R1C3:R54C5,3,FALSE)"
Range("B13").FormulaR1C1 = _
"=INDEX(BASE!R1C1:R37619C11,MATCH(R[-5]C,BASE!R1C5:R37619C5,0),11)"
Range("B14").FormulaR1C1 = "=VLOOKUP(R13C2,LISTES!R1C3:R54C5,2,FALSE)"
Range("B7:B14").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B6").Select
Application.CutCopyMode = False
End Sub

Le code plante à hauteur de laligne selection.copy (6 lignes plus haut après Range("B7:B14").Select)
Mais normalement le code de la macro REFRESH ne devrait pas être du tout exécuté?

Je m'y perds...
J'ai supprimé une combo et je l'ai recréée et c'est pareil?
 
Dernière édition:

PAPA WALKER

XLDnaute Junior
Re : COMBOBOX qui lance une deuxième macro?

Rebonjour,
ça y est j'ai compris :) Dans la première macro je vais vider un champ nommé qui est lié avec la deuxième combobox. Du coup, je change son contenu et elle lance la deuxième macro REFRESH...
A présent je dois trouver comment contourner ça :)
 

Staple1600

XLDnaute Barbatruc
Re : COMBOBOX qui lance une deuxième macro?

Re


Je sais, je suis un mauvais posteur
Si tu penses l'être , rien ne t'oblige à le demeurer ;)

Pour indiquer que ton post est résolu, modifies le titre de ton premier message* en y ajoutant en début de titre
[RESOLU] COMBOBOX qui lance une deuxième macro

*:
pour cela, cliques sur Modifier le message quand tu es dans ton premier message.
 

PAPA WALKER

XLDnaute Junior
Re : COMBOBOX qui lance une deuxième macro?

Merci Staple,
Je vais faire ça et aussi revoir mon fichier car je n'y arrive pas comme ça.

On doit pouvoir faire plus simple... je pense.

Pour ce qui est de m'améliorer, oui c'est sûr, je suis un peu réservé et il y a tellement de gens très doués sur le Forum que je n'ose pas répondre à d'autres post...
 

Discussions similaires

Statistiques des forums

Discussions
312 024
Messages
2 084 732
Membres
102 645
dernier inscrit
Bleach5962