[VBA] Variable String qui se vide toute seule.

Résolu
Akravaach Messages postés 21 Statut Membre -  
Akravaach Messages postés 21 Statut Membre -
Bonjour à tous,

J'ai un soucis que je ne comprends pas, j'ai une userform dans lequel se trouve tout mes codes mais j'ai une variable qui se vide d'une private sub à l'autre, sans raison visible

Private Sub Compiler_Click()
Application.ScreenUpdating = False

Dim Véhicule As String
Dim nblignes As Integer
Dim SansOCD As Byte
Dim DEDactive As Byte
Dim DEDfermée As Byte
Dim DEDcrée As Byte
Dim DEDdifférée As Byte
SansOCD = 0

Call Suppression_DED
Call Mise_en_page
Call mise_en_forme
Call RécapDED

ODJ.Hide
'Unload ODJ
End Sub


Je me sers de la variable Véhicule dans ma sub "Suppression_DED", dans laquelle elle est attribuée est utilisée
Puis je l'appelle de nouveau dans "Mise_en_forme" et RécapDED, mais là elle est considérer comme vide...

Les variables se vide d'une private Sub à l'autre ? Même elle sont déclaré en dehors ?
Sachant que j'ai essayé de mettre les déclaration dans la sub qui appelle le userform...

Si vous avez l'explication je suis tout ouïe.

2 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour

    Tu dois faire la déclaration en "global"
    Pour ça, il faut les déclarer en dehors de toute sub ... au début de ton module
    par exemple
    Dim var1 As Integer
    
    Sub procedure1()
      var1 = 10
       ' => Utilisation de var1 possible
    End Sub
    
    Sub procedure2()
       ' => Utilisation de var1 possible
       msgbox var1
    End Sub
    

    1
    1. Akravaach Messages postés 21 Statut Membre
       
      Ah merci, j'avais zappé qu'on pouvait mettre des truc en dehors des Sub.... Ralalala...

      Merci beaucoup !
      0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    Mets tes variables globales dans un module général (Module 1 par exemple) et tu les déclares comme publiques
    Public Véhicule As String

    Cdlmnt
    1