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 :

Modification valeur variable par formulaire


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club Avatar de yadla
    Profil pro
    Inscrit en
    Août 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 82
    Points : 34
    Points
    34
    Par défaut Modification valeur variable par formulaire
    Bonjour le forum,

    Ce que je recherche est assez précis, et les recherches que j'ai faites dans les forums ne m'ont donné aucun résultat satisfaisant.

    Voilà, j'aimerais savoir comment faire pour que lorsque l'on ferme un formulaire, une variable soit enregistrée... Euh, je sais pas trop comment expliquer ca...

    Je mets un exemple Excel.
    Tout est plus clair dans le fichier.
    En gros, j'ouvre formulaire, une variable est initialisée.
    Je peux changer la valeur de cette variable.
    Mais lorsque je ferme et réouvre mon formulaire, ma variable reprend la valeur du tout début. Et j'aimerais qu'elle garde en mémoire la dernière modification.

    J'espère être plus claire dans le fichier...
    Fichiers attachés Fichiers attachés
    Encore et toujours besoin d'aide
    Yadla

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Enregistre la valeur de ta variable dans une cellule de ton classeur.
    Au chargement du classeur charge la variable avec cette cellule
    Jérôme

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    bonjour yadla (rumba dans l'air ? )
    je ne peux pas essayer ton code car ton fichier n'est pas signé. mais :
    en déclarant ta variable en public dans un module (module de classe), la valeur va rester tel que le dernier calcul la définira, oui , mais voila , si quand tu appuie sur le bouton, la premiere ligne lui dis variable = 50, hé ben elle se met a 50 la variable, elle est obéissante.
    donc en fait, tu devrais mettre une condition si tu ne pas qu'elle fasse le calcul quand elle est false, (je suppose que ton pb c'est que cela genere une erreur)
    je te suggere
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    variable = IIf(IsEmpty(variable), 50, variable)
    traduire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    si variable est videalors variable = 50
    sinon variable = variable.
    de la sorte tu devrais conserver ta valeur.
    a plus

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour Yadla,

    Est-ce que ce code vous conviendrait
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    Public pas_modif As Integer, pmodif As Integer
     
     
    Private Sub Bouton_valider_pas_modifications_Click()
    TextBox_pas_modifications_utilisé.Value = ComboBox_pas_modifications.Value
    pas_modif = TextBox_pas_modifications_utilisé.Value
    With Sheets(1)
    For i = 4 To 9
        .Cells(i, 4) = .Cells(i, 3) * pas_modif
    Next i
    End With
    End Sub
     
    Private Sub UserForm_Initialize()
     
    ' on calcule le dernier cofficient appliqué 
    pas_modif = Sheets(1).Cells(4, 4) / Sheets(1).Cells(4, 3)
    ComboBox_pas_modifications.AddItem Format(CInt("50"), "## ##0")
    ComboBox_pas_modifications.AddItem Format(CInt("100"), "## ##0")
    ComboBox_pas_modifications.AddItem Format(CInt("150"), "## ##0")
    ComboBox_pas_modifications.AddItem Format(CInt("250"), "## ##0")
    ComboBox_pas_modifications.AddItem Format(CInt("500"), "## ##0")
    ComboBox_pas_modifications.AddItem Format(CInt("1000"), "## ##0")
    'le dernier coefficient appliqué s'affiche
    TextBox_pas_modifications_utilisé = pas_modif
    For i = 0 To 5
    ComboBox_pas_modifications.ListIndex = i
    ' le dernier coefficient appliqué s'affiche
    pmodif = ComboBox_pas_modifications.Value
    If pas_modif = pmodif Then
    Exit Sub
    End If
    Next i
    End Sub
    Amicalement.

  5. #5
    Nouveau membre du Club Avatar de yadla
    Profil pro
    Inscrit en
    Août 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 82
    Points : 34
    Points
    34
    Par défaut Gagné !
    Bonjour alsimbad, jfontaine,

    Merci pour vos réponses.

    Je ne veux pas faire apparaitre cette variable dans une feuille...
    Si je n'y arrive pas, je ferai comme ca, mais si je trouve autrement...

    En fait, ce que je voudrais :
    1. ouvrir fichier Excel
    2. ouvrir formulaire avec pas_modif (=la variable) à une valeur quelconque (ex:50)
    3. faire le changement de valeur de pas_modif (ex:250)
    4. fermer le formulaire
    5. fermer le fichier Excel en enregistrant les modif
    6. Et à la prochaine ouverture : pas_modif=valeur dernièrement modifiée (ici:250)


    Désolée de m'être mal exprimée

    EDIT : Bonjour Jacques_Jean
    Et Merci beaucoup pour l'aide que tu m'a apporté.
    C'est exactement ce que mon fichier devait faire.
    A chaque ouverture du fichier Excel, pas_modif prend la valeur de la dernière modification? C'est génial, merci beaucoup
    Encore et toujours besoin d'aide
    Yadla

  6. #6
    Invité
    Invité(e)
    Par défaut
    Re Yadla,

    Par rapport à votre dernière réponse, je crois avoir donné le code que vous désirez juste quelques secondes avant.

    A vérifier sur ma réponse précédente.

  7. #7
    Nouveau membre du Club Avatar de yadla
    Profil pro
    Inscrit en
    Août 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 82
    Points : 34
    Points
    34
    Par défaut Merci
    Bon, décidemment, on se répond trop rapidement... lol

    Je viens d'éditer mon dernier poste...

    Tout est OK... Tout marche... C'est nickel !!

    Merci encore
    Encore et toujours besoin d'aide
    Yadla

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] valeur variables par mois
    Par nassiri dans le forum Excel
    Réponses: 3
    Dernier message: 14/05/2014, 17h24
  2. nombre de valeurs variable par ligne d'un fichier texte
    Par Christinita dans le forum MATLAB
    Réponses: 3
    Dernier message: 15/02/2012, 22h05
  3. Réponses: 7
    Dernier message: 21/08/2007, 10h53
  4. Probleme avec passage de variables par formulaires
    Par cortex007 dans le forum Langage
    Réponses: 5
    Dernier message: 17/12/2005, 14h08
  5. Réponses: 2
    Dernier message: 30/11/2004, 02h36

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