Déclaration Range Publique

Bonjour à tous,

Voici ma problématique.

Dans mon fichier, je déclare une liste de variables et de constantes depuis un module afin qu'elles soient accessibles depuis mes Worksheets.

decla 1

J'arrive bien à utiliser les constantes et les variables "Integer", mais je rencontre un problème avec les "Range".

decla 2

Par exemple depuis la Worksheet "Data", j'arrive à récupérer la valeur de "MaxRowNomfactureFournisseur" mais pas "RangeNomFactureFournisseur". J'essaye ici de faire un simple select, mais aucun appel de cette variable ne semble fonctionner.

L'erreur affichée est "variable objet ou variable de bloc with non définie".

Auriez-vous une idée du problème?

Merci d'avance de votre aide.

Bonjour

Un fichier est TOUJOURS le bienvenu

Avant le end sub de la macro decla met

msgbox rangenomfacturefournisseur.address...

Je pense (malgré qu'on ne voit pas tout) que cette variable est mal déclaré....

A+ François

Bonjour Fanfan38,

Merci pour votre aide.

Je viens de tester le MsgBox dans la macro Decla et la Range affichée est la bonne.

La déclaration de cette variable depuis le module ne semble pas être le problème

Nicolas

J'ai regardé dans ma boule de cristal et je n'ai rien trouvé....

A+

Bonjour,

Essayez ceci:

Module "data"

Private Sub Worksheet_Change(ByVal Target As Range)
    Decla
    Pointer_Cellule
End Sub

Module standard:

Public RangeNomFactureFournisseur As String

Sub Decla()
    With Sheets("Facturation - Fournisseur")
        RangeNomFactureFournisseur = Range("A1").Address
     End With
End Sub

Sub Pointer_Cellule()
    Sheets("Facturation - Fournisseurs").Select
    Range(RangeNomFactureFournisseur).Select
End Sub

Cdlt

Bonjour Arturo83,

Il m'a suffit d'ajouter l'appel "Decla" dans mon module Data pour que cela foncitonne. Il est logique que la fonction Decla() du module 1 se déclenche pas toute seule.

Sans ça la Range n'est pas calculée, d'où l'erreur "variable objet ou variable de bloc with non définie".

Je ne comprend cependant pas pourquoi l'Integer "MaxRowNom...." s'est elle bien calculée alors qu'elle est au même endroit... Peut-être était elle toujours stockée en cache à la suite d'un appel d'une précédente itération dans une autre worksheet...

Dans tous les cas merci à vous!

Rechercher des sujets similaires à "declaration range publique"