Partage
  • Partager sur Facebook
  • Partager sur Twitter

petit problème sur les variables statiques

Sujet résolu
    1 août 2018 à 14:27:21

    Bonjour,

    je souhaite juste créer des feuilles de classeurs dynamiquement sur vba avec une variable compteur.

    J'ai donc voulu utiliser une variable statique pour récupérer la valeur de ma variable compteur lors de  l'appel précédent de ma procédure. Le problème est que la variable semble se réinitialiser à 0 à chaque fin de procédure. pourriez vous m'expliquer pourquoi?

    Sub vComposant_Click()
    
        Dim labelIm As OLEObject
        Static comptage As Integer
        
        comptage = comptage + 1
        Set Liste_Chantier = Worksheets("liste_sur_chantier")
        Sheets.Add.Name = "méthode de posage" & comptage
    
        
        With Worksheets("méthode de posage" & comptage)
            .OLEObjects.Add ("Forms.Label.1") 'forms a modifié
        End With
        
        With Worksheets("méthode de posage" & comptage).OLEObjects.Add("Forms.Label.1")
            .Name = "pose" & comptage
        End With
        
        
        UserForm1.Hide
                   
    End Sub
    
    En espérant que openclassroom affichera bien vos messages (et non pas 5 jours plus tard:colere:), je vous remercie par avance
    • Partager sur Facebook
    • Partager sur Twitter
      1 août 2018 à 16:02:10

      Salut,

      Ca existe vraiment le static en VBA ?

      Sinon si tu déclares ta variable dans la Sub, elle sera forcément détruite à la fin de cette Sub, c'est un problème de portée de la variable.

      Déclare la variable en dehors de la Sub.

      • Partager sur Facebook
      • Partager sur Twitter
        2 août 2018 à 10:54:53

        Salut,

        Sinon j'ai peut être une autre solution pour toi.

        La solution que tu as voulu mettre en place vaut si tu dois créer plusieurs feuilles différentes en une opération mais sauf erreur de ma part ca n'a pas l'air d'etre le cas...

        Si j'ai bien compris ton besoin tu souhaites simplement ajouter des feuilles qui vont toujours comporter le meme nom (méthode de posage) suivi d'un chiffre qui s’incrémente tout seul c'est bien ça ?

        Du coup tu pourrais par exemple le numéro correspondant de la dernière feuille crée (Via worksheets.count) et ensuite récuperer le derniere chiffre avec la fonction right et tu n'auras plus qu'a ajouter  +1 a ce chiffre et a faire toutes tes autres actions.

        • Partager sur Facebook
        • Partager sur Twitter
          7 septembre 2018 à 12:19:08

          merci (dsl de repondre aussi tard)

          J'ai bien reussi en utilisant ton conseil :D

          • Partager sur Facebook
          • Partager sur Twitter

          petit problème sur les variables statiques

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown