Probleme avec les variables public

Bonjour,

je vais essayer d’être claire. Mon problème est le suivant :

je souhaiterai créer une variable qui peut être utiliser dans tout le classeur excel,

mais lorsque je créer cette variable est que j'essaye d'ouvrir mon Userform, j'ai cette erreur:

erreur d'exécution n°9

l'indice n’appartiens pas à la sélection

- la variable public "machine".

je ne sait plus quoi faire

merci de votre aide

anthony0903 a écrit :

Bonjour,

je vais essayer d’être claire. Mon problème est le suivant :

je souhaiterai créer une variable qui peut être utiliser dans tout le classeur excel,

mais lorsque je créer cette variable est que j'essaye d'ouvrir mon Userform, j'ai cette erreur:

erreur d'exécution n°9

l'indice n’appartiens pas à la sélection

- la variable public "machine".

la sa fonctionne

Private Sub UserForm_Initialize()
  machine = "mamachine"
  Set Ws = Sheets(machine)

  Set Employes = CreateObject("Scripting.Dictionary")

  With Ws
    For Each Cel In .Range("A2", .[A65000].End(xlUp))
      Employes(Cel.Value) = Cel.Value
    Next Cel
  End With
  Me.ComboBox1.List = Application.Transpose(Employes.keys)

  Me.ComboBox1.SetFocus

End Sub

la sa fonctionne pas

Private Sub UserForm_Initialize()

  Set Ws = Sheets(machine)

  Set Employes = CreateObject("Scripting.Dictionary")

  With Ws
    For Each Cel In .Range("A2", .[A65000].End(xlUp))
      Employes(Cel.Value) = Cel.Value
    Next Cel
  End With
  Me.ComboBox1.List = Application.Transpose(Employes.keys)

  Me.ComboBox1.SetFocus

End Sub

je ne sait plus quoi faire

merci de votre aide

Bonjour,

Tu as déclaré partout dans tous les modules la varibale publique sous le meme nom !!!!! Laisse sur le module "boutonaccueil" et enlève tous le reste et ça marchera.

Bonjour

Pour éviter toute confusion tu ne dois avoir qu'une déclaration de la variable machine

Laisse la dans le module "VariablePublic"

Ensuite le code des tes macros associées aux boutons de ta page

Au lieu de

Sub cage4_Clic() 'Ouverture de la liste de la Cage 4
CiCP.Show
machine = "cage4"
End Sub

Passes l'initialisation de la variable AVANT l'appel de l'Userform

Sub cage4_Clic() 'Ouverture de la liste de la Cage 4
machine = "cage4"    ' Doit être avant l'appel de l'Userform
CiCP.Show
End Sub

Bonjour Raja

.

j'ai trouver

il fallait juste que je change l'ordre dans ma macro

Avant

Sub mamachine_Clic() 'Ouverture de la liste de la mamachine
CiCP.Show
machine = "mamachine"
End Sub

Apres

Sub cage4_Clic() 'Ouverture de la liste de la mamachine
machine = "mamachine"
CiCP.Show
End Sub

merci pour ta réponse j'ai encore essayer est j'ai trouver aussi

Rechercher des sujets similaires à "probleme variables public"