Public VBA

bonjour

j'ai besoin de creer une reference public que je vais utiliser dans plusieurs module ensuite

j'ai donc

Public Const const1 As Integer = 8

après j utilise const1 comme je le souhaite pas de souci ça fonctionne

Public Const const1 As Integer = F06.[HV3] '.Value

j'ai voulu écrire ceci mais cela ne fonctionne pas

je voulais faire reference a une cellule de ma feuil 6 ( f06) cellule hv3

pour essayer d'autres valeurs a ma const1 = genre 10 ou 9 ou autre mais sans chaque fois changer la valeur dans mon module vba

merci de votre aide

Bonjour,

Je pense simplement que par définition, une constante n'est pas dynamique !!!!

Par contre tu peux faire cela !

Public const1 As Integer

Ensuite à l'ouverture tu peux faire

const1  = range("F06.[HV3]").value

Bien à toi

Bonjour,

Tu peux aussi créer une variable publique de type Range :

Public MaVariable1 As Range

puis lui affecter la référence de la cellule choisie à l'ouverture du classeur (Module ThisWorkbook)

Private Sub Workbook_Open()
    Set MaVariable1 = F06.[HV3]
End Sub

A+

Bonjour à tous,

Remarque en passant : dans la proposition de jpbt84, const1 est une variable...

Par définition une constante est défini en valeur une fois pour toutes...

Cordialement.

Exact MFerrand,

Soit il doit déclarer en Constante et fixer la valeur lors de la déclaration (sans passer par un Range.Value qui est une variable).

Soit déclarer une Variable Public pour pouvoir affecter une variable de type Range.value !

Un choix s'impose !!!

La vie est dure parfois !

Rien de très dur ! C'est une variable dont il a besoin, l'utilisation est la même...

merci de vos reponses

c'est plus cela que je voulais faire

<< il doit déclarer en Constante et fixer la valeur lors de la déclaration >>

mais ni l'une ni lautre ne fonctionne ou c'est moi qui ne sais pas m'en servir

bien mis dans le module "this woorkbook "

mais lorsque j'execute la macro cela me dit varaible ou bloc non defini idem pour les 2 solutions

et si je souhaite REexécuter la macro , excel plante .....

je voulais mettre en public car je me sert de cette valeurs dans 3 module différents ca m’évite quelques lignes de code

bon au final voici ce quej 'ai fait dans mes 3 modules ( c'est pas le top mais ca fonctionne )

dim const1

const1 = F06.[HV3] '.Value

Tu ne sais pas utiliser !

Il faut revoir le chapitre Portée des variables...

Et aussi quand on pose une question, on joint un fichier si l'on veut avoir une réponse qui fonctionne...

edit : Ne pas oublier non plus que tout code exécutable est obligatoirement dans une procédure !

oui je me doute que cela viens de moi lol

mais le fichier est lourd et complexe

( 20 feuilles , 12 modules macro et plus de 20 macro qui s’exécute l'une imbriques dans les autres )

donc pas envie de le mettre en plus vous aller me dire rhooo tu code comme un cochon ! ( )

tampis cela fonctionnera ainsi

mais merci de votre intervention

Rechercher des sujets similaires à "public vba"