Gestion ERREUR dans un userform

Bonjour

Je fais appel à votre méga expertise de code VBA car malgré que j'ai fait mes armes, je bloque sur un sujet épineux : LA GESTION ERREUR.

Le cas du jour : J'ai un userform qui tourne en "complément projet" et qui remplis des feuilles d'un seul classeur.

Lorsque j'ouvre un autre classeur, d'un autre nom, que je clique dessus (en somme que c'est lui qui est activé) et que je reviens sur mon userform pour remplir une case text box, de mon premier classeur ouvert (mais plus activé car j'ai cliqué sur celui précédemment), alors j'ai une erreur code 9 car il ne trouve plus le bon classeur.

J'en viens à me dire que je peux gérer cette erreur en code 9 et réactiver mon classeur qui est utilisé par mon userform (un truc du genre active.workbook.fullnam = "/chemin/etc...", par contre ou mettre une boucle qui tourne en continue en surveillance de cette erreur ?

Qu'en pensez vous ?

Merci de votre aide à tous super VBATORS

Bonjour,

Pas forcément besoin de boucle je tenterai un truc du genre :

en Tête du module :

Dim WsC as Worksheet
Private Sub UserForm_Activate()
Set WsC = ThisWorkbook.Worksheets("blabla") 
'...

Et ensuite dans la suite du code tu définis tes Range avec des

With WsC
.Range("rng")

Après ça dépend aussi de ton UserForm : S'il est suffisamment tordu pour adresser plusieurs feuilles en même temps.

Tu peux aussi instancier plusieurs feuilles cibles...

WsF pour les Fournisseurs, WsP pour les produits, WsO pour...

A+

Rechercher des sujets similaires à "gestion erreur userform"