Excel VBA, partager variables entre Feuille Excel et Form

Résolu
fl0 Messages postés 365 Statut Membre -  
fl0 Messages postés 365 Statut Membre -
Bonjour,

Mon problème est le suivant.

J'ouvre un formulaire quand je double clique sur une cellule. Avant d'ouvrir le formulaire je mémorise la ligne et la colonne de la cellule ou je me trouve.

Le problème c'est qu'une fois que mon formulaire est ouvert, les variables ligne et colonne sont initilaisées et je n'ai plus mes valeurs. (J'en ai besoin pour mon retour suivant le traitement dans mon form)

J'ai déclaré mes variables dans "ThisWorkbook"

Je pense que mon problème est simple mais quand on bloque, on bloque :-)

Merci pour votre aide

3 réponses

  1. fl0 Messages postés 365 Statut Membre 209
     
    J'ai trouvé la solution.

    Comme quoi la nuit porte conseils.
    En fait j'ai déclaré mes variables ligne et colonne dans mon formulaire en public. (Il faut les déclarer la ou tu veux les utiliser au final)

    du coup dans ma feuille j'ai ce code:

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    
    Ligne = ActiveCell.Row
    Colonne = ActiveCell.Column
    
    FrmDommage.lbl_ligne = Ligne
    FrmDommage.lbl_colonne = Colonne
    
    FrmDommage.Show
    
    End Sub


    Et dans mon form pour exemple, j'ai ça:


    Public Ligne As Long
    Public Colonne As Long
    
    Private Sub UserForm_Initialize()
    
    lbl_ligne.Caption = Ligne
    lbl_colonne.Caption = Colonne
    
    End Sub


    @+
    0
  2. pilas31 Messages postés 1878 Statut Contributeur 648
     
    Bonjour,

    Peut-être que la solution est de déclarer les variables en Static afin que la valeur soit conservée.

    Par exemple au lieu de l'instruction suivante :

    Dim ligne As Integer

    écrire :

    Static ligne As Integer

    A tester
    0
    1. fl0 Messages postés 365 Statut Membre 209
       
      Merci

      il me faut en dynamique et non en static
      0
  3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Pour partager des variables entre VBA excel et VAB Userform, celles-ci doivent etre declarees Public dans un Module
    ex:
    Public ma_variable As Integer
    0
    1. fl0 Messages postés 365 Statut Membre 209
       
      Merci pour ta réponse

      Donc je dois créer un module vide qui contient mes déclarations de variables public?
      Pour contourner mon problème j'ai créé une fonction que j'appelle en double cliquant sur ma feuille et je,lui passe ma ligne et ma colonne.
      0