[VBA] Variable String qui se vide toute seule.

Résolu/Fermé
Akravaach Messages postés 19 Date d'inscription mardi 2 juin 2015 Statut Membre Dernière intervention 26 avril 2019 - Modifié le 26 avril 2019 à 14:06
Akravaach Messages postés 19 Date d'inscription mardi 2 juin 2015 Statut Membre Dernière intervention 26 avril 2019 - 26 avril 2019 à 14:27
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

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
26 avril 2019 à 14:10
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
Akravaach Messages postés 19 Date d'inscription mardi 2 juin 2015 Statut Membre Dernière intervention 26 avril 2019
26 avril 2019 à 14:27
Ah merci, j'avais zappé qu'on pouvait mettre des truc en dehors des Sub.... Ralalala...

Merci beaucoup !
0
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
26 avril 2019 à 14:12
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