[VBA] Variable String qui se vide toute seule.

Résolu
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. 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
    1. Modérateur
      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. Ah merci, j'avais zappé qu'on pouvait mettre des truc en dehors des Sub.... Ralalala...

        Merci beaucoup !
        0