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 :

Comment récupérer le contenu d'une cellule dans le contrôle d'un formulaire


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Comment récupérer le contenu d'une cellule dans le contrôle d'un formulaire
    Bonjour je suis débutant ,

    j'ai réussi a faire mon petit code avec des bouts trouvés sur le net et
    ça marche impeccable !
    C'est pour un spectacle : faire une liste complète des réservations

    Le seul souci c'est que je ne sais pas récupérer une cellule de la ligne qui va être écrite !

    Je m'explique , il y a un formulaire en VBA , une fois rempli il m'affiche les résultats a la suite de la liste en cours a partir de la colonne B

    Dans la colonne A se trouve un code(à chaque ligne différent) que j'aimerais voir s'afficher dans un autre Userform mais IMPOSSIBLE de trouver comment faire !

    voici mon code :

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    Private Sub cmdAnnuler_Click()
        Unload Me
    End Sub
     
    Private Sub nbradu_Change()
        ' Vérifie si la valeur entrée est numérique
        If Not IsNumeric(nbradu.Text) Then
            Cancel = True ' Annule la validation de contrôle
            MsgBox "Veuillez entrer un nombre !"
        End If
    End Sub
     
    Private Sub nbrenf_Change()
        ' Vérifie si la valeur entrée est numérique
        If Not IsNumeric(nbradu.Text) Then
            Cancel = True ' Annule la validation de contrôle
            MsgBox "Veuillez entrer un nombre !"
        End If
    End Sub
     
    Private Sub cmdOk_Click()
        ' On teste la saisie du nom
        If Me.txtNom.Text = "" Then
            MsgBox "Vous devez entrer un nom."
            Me.txtNom.SetFocus
            Exit Sub
        End If
            ' On teste la saisie  du nombre d'adulte
        If nbradu = "" Then
            MsgBox "Vous devez entrer un nombre. (0 si nul)"
            Me.nbradu.SetFocus
            Exit Sub
        End If
                ' On teste la saisie du nombre d'enfant
        If nbrenf = "" Then
            MsgBox "Vous devez entrer un nombre. (0 si nul)"
            Me.nbrenf.SetFocus
            Exit Sub
        End If
        ' On teste la saisie du prénom
        If Me.txtPrenom.Text = "" Then
            MsgBox "Vous devez entrer un prénom."
            Me.txtPrenom.SetFocus
            Exit Sub
        End If
     
        ' Conversion du nom et prénom en NOMPRPRE
        Nomconverti = Application.WorksheetFunction.Proper(Me.txtNom.Text)
        Prenomconverti = Application.WorksheetFunction.Proper(Me.txtPrenom.Text)
        adulte = Application.WorksheetFunction.Proper(nbradu)
        enfant = Application.WorksheetFunction.Proper(nbrenf)
        ' Mise en place des valeurs saisies
        Range("B65536").End(xlUp).Offset(1, 0).Value = Nom
        Range("C65536").End(xlUp).Offset(1, 0).Value = Prenom
        Range("D65536").End(xlUp).Offset(1, 0).Value = adulte
        Range("E65536").End(xlUp).Offset(1, 0).Value = enfant
     
     
        Unload Me
     
    End Sub
    Voila , donc mes resultat s'affiche ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        Range("B65536").End(xlUp).Offset(1, 0).Value = Nom
        Range("C65536").End(xlUp).Offset(1, 0).Value = Prenom
        Range("D65536").End(xlUp).Offset(1, 0).Value = adulte
        Range("E65536").End(xlUp).Offset(1, 0).Value = enfant
    et j'aimerai récuperé dans cette même ligne la cellule A
    qui a dejas un code d'affiché
    et la faire apparaitre dans une autre userform après validation de la première

    MERCI ÉNORMÉMENT si vous pouvez me résoudre ça :rolleyes:

    PS : désolé si je suis un peu trop vague ou si le code n'est pas beau je débute depuis hier mdr !
    encore merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Si j'ai bien compris vous pouvez tout simplement afficher votre 2ème formulaire et par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private Sub UserForm_Initialize()
    Me.TextBox1.value = Range("A65536").End(xlUp).Offset(1, 0).Value
    pour conserver votre code actuel.

    Mais vous pouvez aussi utiliser une variable, exemple sur le 1er formulaire :
    :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    dlgn = Range("B65536").End(xlUp).Row+1
    Cells(dlgn, 2) = Nom
    Cells(dlgn, 3) = Prenom
    Cells(dlgn, 4) = adulte
    Cells(dlgn, 5) = enfant
    et dans le 2ème formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.TextBox1.value = Cells(dlgn, 1)
    Dans ce cas il faudra déclarer une variable publique dans un module :


  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Arf , merci beaucoup , mais je n'arrive pas a faire marcher ce code , il me dit debogage tout le temps, j'ai mis le fichier en excel si vous pouvez jeter un oeil sa serai formidable encore merci !
    Fichiers attachés Fichiers attachés

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

    Toutes mes excuses, j'ai oublié un mot important :dlgn =
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("B65536").End(xlUp).Row+1
    En cas de besoin je vous retourne votre fichier modifié en début d'après-midi (dimanche ici = jour de marché, incontournable).

    Amicalement.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup j'ai reussi , c'est super simpa , et merci encore pour la réactivité

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    Dim ligne As Long
     
    ligne = [B65536].End(xlUp).Row
     
    TextBoxCode.Value = Range("A" & ligne)
     
    End Sub
    J'ai rajouté sa a la fin de mon code , tout compte fait je l'ai fait saffiché dans le même userform encore merci

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 17/09/2014, 20h56
  2. Réponses: 2
    Dernier message: 04/02/2009, 13h13
  3. Comment récupérer le contenu d'une cellule
    Par gronaze dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/12/2008, 18h30
  4. Réponses: 2
    Dernier message: 18/09/2006, 00h33
  5. Comment récupérer le contenu d'une URL dans une variable ?
    Par Fildz dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/08/2006, 10h26

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