Bonjour, (h2504 : )
Lorsque tu appelles un Userform (.Show), il pointe naturellement sur la feuille Active.
Si tu veux appeler ce UserForm depuis une autre feuille tu as le choix entre 2 solutions : Soit activer préalablement la feuille concernée.
Soit référencer cette feuille pour toutes les adresse de contrôle du UserForm :
Sheets("DEMARCHE").Range("B2:H2").Interior.ColorIndex = Clear
'On boucle pour récupérer chacunes des villes du pays sélectionné Do While Cells(2, i).Value <> ""
Set Ws = Sheets("DEMARCHE") 'à partir de maintenant attention aux "." devant .Cells ou .Range...
With Ws
'On teste que le nom de la région dans liste déroulante soit identique à la cellule active.
If .Cells(2, i) = Me.demande1 Then 'Si oui
'on sélectionne la cellulle de la région
'Cells(2, i).Select 'ça c'est pourri on supprime...
'On y ajoute une couleur de remplissage
.Cells(2, i).Interior.ColorIndex = 32
'on récupère son positionnement par le n° de colonne
'Colonne = ActiveCell.Column 'ça c'est pourri le numéro de colonne c'est i
'et de toute façon il va changer au prochaoin loop
End If
i = i + 1 'On incrémente le numéro de colonne
Loop
A+