IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Problème de portée de variable


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Mars 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mars 2011
    Messages : 2
    Par défaut Problème de portée de variable
    Bonjour à tous,
    je commence juste à manipuler vb editor. Mon problème porte, je pense, sur la portée de variable.
    Je souhaite balayer un tableau d'articles dont j'ai déjà fait l'inventaire il y a longtemps, et supprimer les articles inexistants.
    Voilà où j'en suis,

    Mon module :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Option Explicit 'Déclaration de la variable ligne
    Public t As Byte
     
    Public Sub afficher_compte()
        compte.Show
    End Sub
     
    Public Sub raz() 'réinitialiser la variable ligne
        t = 1
    End Sub
    Le code de ma userform (compte):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Public Sub compte_initialize()
            With ActiveSheet
                Ref1.Caption = Cells(t, 2).Value  'afficher des infos sur l'article consulté dans la userform
                lign1.Caption = Cells(t, 1).Value 'afficher des infos sur l'article consulté dans la userform
                compte.Caption = "Article n°" & t 'afficher des infos sur l'article consulté dans le titre de la userform
            End With
    End Sub
     
     
    Public Sub ok5_click() 'si l'article est bien existant, incrémenter le compteur
        t = t + 1
        Unload Me
    End Sub
     
    Public Sub supp5_click() 'si l'article est supprimé, supprimer la ligne puis incrémenter le compteur
        With ActiveSheet
            Dim o As Integer
            For o = 1 To 7
                Cells(t, o).Value = " "
            Next o
            End With
        t = t + 1
        Unload Me 'fermer cette userform
    End Sub
    Où est mon problème ??
    Merci d'avance je suis bloqué là.

  2. #2
    Membre Expert
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Par défaut
    Bonsoir,
    la seule erreur que je vois, c'est le point manquant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With ActiveSheet
    Ref1.Caption = .Cells(t, 2).Value 'afficher des infos sur l'article consulté dans la userform
    lign1.Caption = .Cells(t, 1).Value
    Dans ce cas le point fait le lien avec Activesheet, voir aussi dans la suite du code
    sinon la portée fonctionne avec Public, on pourrait aussi déclaré avec Dim puisque placé dans un module

Discussions similaires

  1. Problème de portée de variables (VBS)
    Par befast dans le forum Windows
    Réponses: 0
    Dernier message: 18/09/2007, 09h40
  2. [Mail] problème de portée de variables
    Par xclam dans le forum Langage
    Réponses: 2
    Dernier message: 12/04/2007, 09h35
  3. Problème de Portée de Variable
    Par Julien_C++ dans le forum C++
    Réponses: 7
    Dernier message: 18/09/2006, 10h13
  4. [VBA-E] Problème de portée de variable [débutant]
    Par vivelesgnous dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 01/03/2006, 18h28
  5. [XSL]Problème de portée des variables
    Par djulesp dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 17/09/2004, 10h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo