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 :

Récupérer la valeur d'une variable et l'integrer dans un UserForm


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 23
    Par défaut Récupérer la valeur d'une variable et l'integrer dans un UserForm
    Bonjour,

    J'ai une fonction me permettant de récupérer la cellule vide de mon tableau :

    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
     
    Function tableau
    Dim j As Long
    Dim LastRow As Long
    Dim BlockName As String
    'Recuperation de la derniere ligne selon la colonne D
        With Sheets("Coordinates")
            .Activate
            LastRow = .Cells(.Rows.Count, "D").End(xlUp).Row
            'boucle pour trouver une cellule vide dans D pour integrer le bloc
            For j = 5 To LastRow
                BlockName = .range("D" & j).Value
                If BlockName = vbNullString Then
                [???]
                End If
            Next j
        End With
    End Function
    J'utilise l'évènement click de mon UserForm pour déclencher l'action d'écriture dans ma cellule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Sub test2_Click()
        Dim i As Long 
        i = 'La valeur de j correspondant à ma ligne vide
        If ListD.ListIndex = 0 Then Application.Cells(i, 4) = ' Ma formule
    Je n'arrive pas à récupérer la valeur de la variable (j) qui est dans ma fonction pour l’intégrer dans le code de mon userForm

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Ta variable est déclaré dans une Sub, donc tu ne peux y accéder que dans celle-ci.

    Il faut la déclarer en entête de module, pour que celle-ci soit accessible en lecture et écriture sur ton code.

    Philippe

  3. #3
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Bonjour,

    une fonction doit retourne quelque-chose...


    modifie sa déclaration :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Function tableau as range

    puis retourne un range par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    '(...)
     BlockName = .range("D" & j).Value
                If BlockName = vbNullString Then
              '[????]
                set tableau  =  .range("D" & j)
                End If
     
    '(...)
    et ensuite pour l'utilisation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If ListD.ListIndex = 0 Then Application.Cells(i, 4) =tableau ' Ma formule

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 23
    Par défaut
    Merci pour vos réponses,

    Bbil j'aimerais seulement récupérer le N° de la ligne où insérer ma formule, pour ensuite l'affecter à "i" dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Cells(i, 4) = formule
    Est ce que c'est possible?

  5. #5
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Ben tu modifie la fonction pour qu'elle retourne un entier ... et tu change la ligne retour valeur ...

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 23
    Par défaut
    Merci BBil,

    C'est au niveau de l'utilisation dans mon UserForm que je bloque, la valeur de i est toujours égale à 0...

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

Discussions similaires

  1. [PHP 5.4] récupérer la valeur d'une variable qui se trouve dans un fonction
    Par aspkiddy dans le forum Langage
    Réponses: 2
    Dernier message: 11/02/2014, 17h06
  2. Réponses: 2
    Dernier message: 02/04/2008, 19h55
  3. Réponses: 7
    Dernier message: 16/06/2006, 16h31
  4. Réponses: 1
    Dernier message: 21/11/2005, 12h07
  5. Récupérer la valeur d'une variable distante
    Par seblo_scoqi dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/09/2005, 16h10

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