VBA-Erreur décalaration variables

axou.gu

XLDnaute Nouveau
Bonjour à tous,

J'ai crée un VBA en déclarant les variables dans un module et je voudrais les déplacer, pour les déclarer dans chaque Userform. Je les ai coupé/collé dans le (Général) (Déclaration) mais j'ai un message d'erreur de compilation : "le membre existe déjà dans un module objet dont le présent module est dérivé".

Je cherche à corriger ceci,

Merci beaucoup pour votre aide !

Axel
 

axou.gu

XLDnaute Nouveau
Re : VBA-Erreur décalaration variables

J'avais déclarer mes variables du style "Public TB_add_profil_fournisseur As String" dans un module crée à cet effet. Mais il me semble plus simple de déclarer chaque variable dans chaque USF.
J'ai donc copier toutes mes variables contenu dans le module dans chaque USF concerné. Mais quand j'ai compiler j'ai obtenu ce message d'erreur...

C'est mieux comme cela ? :)
 

Pierrot93

XLDnaute Barbatruc
Re : VBA-Erreur décalaration variables

Re,

Et une dernière question, vous décalarez toutes les variables où seulement celles où l'utlisateur rentre des données ?
pas sûr d'avoir bien compris... perso je déclare toutes les variables, d'ailleurs j'indique en tête de module "option explicit" ce qui oblige à leurs déclarations.. dans les options de l'éditeurs, cocher "déclaration des variables obligatoires"...
 

Dranreb

XLDnaute Barbatruc
Re : VBA-Erreur décalaration variables

Bonsoir.
Information.
Une variables déclarée Public, ce n'est pas la même chose dans un userform que dans un module ordinaire.
Dans un module ordinaire elle doit être unique dans tout le projet VBA.
Dans un userform, c'est simplement une propriété de l'userform, et plusieurs peuvent avoir les mêmes noms de propriétés mais chacune est propre à chacun (c'est pour cela que sa s'appelle une propriété). Pareil dans un module de Feuille, pareil dans un module de classe.
Ça marche pareil pour les procédures: toute procédure Public dans un module d'une autre sorte qu'un module ordinaire est en fait une méthode.
Tout ceci signifie que pour y accéder ou les exécuter il faut les qualifier devant de l'objet propriétaire suivi d'un point, sauf bien sûr à l'intérieur de son code.
Cordialement.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 932
Messages
2 093 731
Membres
105 802
dernier inscrit
Witchun