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 :

Recuperer les donnees d'une feuille dans une UserForm [XL-2016]


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
    technicien culinaire
    Inscrit en
    Avril 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : technicien culinaire
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Avril 2014
    Messages : 10
    Par défaut Recuperer les donnees d'une feuille dans une UserForm
    Bien le bonjour

    Alors voila je vous explique mon problème. Je tien a préciser que je suis un très grand débutant dans excel et vb avant toute chose .
    Une personne ma beaucoup aider jusque là mais pour le moment elle ne peux plus alors je me tourne vers vous pour avoir un peu de vôtre aide .

    Bon je rentre de le vif du sujet. Alors je suis entrain de faire une facturation avec une base de donnée client pour un camping. Alors j'ai réussi à faire
    • ajouter dans la bd les clients via un UserForm
    • récupérer c'est infos pour en faire une facture
    • imprimer cet facture avec double impression et auto incrémentation de numéro de facture".


    Mon problème que je n'arrive pas à résoudre est comment récupérer la ligne du client pour pouvoir modifier les infos dans un UserForm en cliquant sur une des cellule de la ligne et ensuite sur un bouton pour ouvrir l'UserForm de modification.

    Je sais pas si j'ai été asser clair.

    Merci pour d'avance pour vôtre aide

    Ps: je peux joindre la classeur si besoin

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par chrisl46 Voir le message
    Bonjour,

    Un exemple dans ce fichier récupéré dans une discussion précédente et proche de votre cas.

    Sur clic droit dans une cellule de la colonne A, le Userform s'ouvre en chargeant les données du produit sélectionné. Le bouton "Valider" du Userform remet à jour les valeurs.
    Un clic sur le ListBox sélectionne le client et la cellule du client est sélectionnée également dans l'onglet.

    Pièce jointe 235097


    Code dans le module de l'onglet "Produits" : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    Private Sub BoutonUserform_Click()
                VisualiserLesProduits Sheets("Produits"), 10, Cells(ActiveCell.Row, 1)
    End Sub
     
    Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
     
        If Target.Count > 1 Then Exit Sub
     
        If Not Intersect(Target, Range("A10:A" & Rows.Count)) Is Nothing Then
            VisualiserLesProduits Sheets("Produits"), 10, ActiveCell
            Cancel = True
        End If
     
    End Sub


    Code dans le module standard : 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
    Option Explicit
    Public Continuer As Boolean
    Public AireProduits As Range
    Public CelluleProduits As Range
     
    Sub VisualiserLesProduits(ByVal FeuilleProduit As Worksheet, ByVal TitreProduit As Long, ByVal CodeProduit As String)
     
    Dim I As Long
    Dim DerniereLigneProduit As Long
     
         With FeuilleProduit
     
              DerniereLigneProduit = .Cells(.Rows.Count, 1).End(xlUp).Row
              If DerniereLigneProduit <= TitreProduit Then Exit Sub
     
              Set AireProduits = .Range(.Cells(TitreProduit + 1, 1), .Cells(DerniereLigneProduit, 1))
     
         With Form_Produit
     
            For Each CelluleProduits In AireProduits
                .List_Produits.AddItem CelluleProduits
            Next CelluleProduits
     
            If CodeProduit <> "" Then
               .List_Produits = CodeProduit
            End If
     
            .Show
     
         End With
     
         Set AireProduits = Nothing
     
         End With
     
    End Sub

    Code dans le Userform : 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
    Option Explicit
     
    Private Sub BoutonRetour_Click()
     
         Continuer = False
         Unload Form_Produit
     
    End Sub
     
    Private Sub BoutonValider_Click()
     
    Dim CtrI As Long
     
        If List_Produits.ListCount > 0 Then
            For CtrI = 0 To List_Produits.ListCount - 1
                If List_Produits.Selected(CtrI) = True Then
                   For Each CelluleProduits In AireProduits
                         If CelluleProduits = List_Produits.List(CtrI) Then
                            CelluleProduits.Select
                            CelluleProduits.Offset(0, 1) = TextBoxLibelle
                            CelluleProduits.Offset(0, 2) = CLng(TextBoxDisplay)
                            CelluleProduits.Offset(0, 3) = CLng(TextBoxBarres)
                            CelluleProduits.Offset(0, 4) = CLng(TextBoxShipper)
                         End If
                   Next CelluleProduits
                End If
            Next CtrI
         End If
     
    End Sub
     
     
    Private Sub List_Produits_Click()
     
    Dim CtrI As Long
     
        If List_Produits.ListCount > 0 Then
            For CtrI = 0 To List_Produits.ListCount - 1
                If List_Produits.Selected(CtrI) = True Then
     
                     For Each CelluleProduits In AireProduits
                         If CelluleProduits = List_Produits.List(CtrI) Then
                            CelluleProduits.Select
                            TextBoxLibelle = CelluleProduits.Offset(0, 1)
                            TextBoxDisplay = CelluleProduits.Offset(0, 2)
                            TextBoxBarres = CelluleProduits.Offset(0, 3)
                            TextBoxShipper = CelluleProduits.Offset(0, 4)
     
                         End If
     
                     Next CelluleProduits
     
                End If
            Next CtrI
     
         End If
     
    End Sub

    Pièce jointe 235094

    Cordialement.
    Dernière modification par Invité ; 15/01/2017 à 03h18.

  3. #3
    Membre extrêmement actif
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Par défaut
    Bonjour,

    Recherche & maj BD
    -choix de la colonne de recherche
    -maj

    Boisgontier
    http://boisgontierjacques.free.fr
    Fichiers attachés Fichiers attachés

  4. #4
    Membre averti
    Homme Profil pro
    technicien culinaire
    Inscrit en
    Avril 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : technicien culinaire
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Avril 2014
    Messages : 10
    Par défaut
    Beh deja merci a vous deux pour votre aide. J'aime bien vos deux proposition toutes les deux différentes mais sympas.

    boisgontierjacques
    J'ai été voir vôtre site vraiment bien ont trouve de tout et sa aide vraiment. Et surtout le petit truc quand tu modifis les colones sa te modifis ton UserForm

    Mon seul problème Jacques est que j'ai des optionButon et je comprend pas trop comment selectionner le boutton par rapport a la valeur de la bd qui est 1 (elecOui) ou 0 (elecNon)

    Un grand merci a vous deux pour votre aide

  5. #5
    Membre expérimenté Avatar de EBRAG
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Avril 2013
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2013
    Messages : 125
    Par défaut
    Bonjour,

    Tu pourrais également avoir une autre vision de la façon de procéder ici...
    http://garbe.joel.free.fr/automatisa...tomatisation15

    après, faut voir !

  6. #6
    Membre extrêmement actif
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Par défaut
    Bonjour,

    Pgm simple recherche/modif/ajout camping

    Boisgontier
    Fichiers attachés Fichiers attachés

  7. #7
    Membre averti
    Homme Profil pro
    technicien culinaire
    Inscrit en
    Avril 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : technicien culinaire
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Avril 2014
    Messages : 10
    Par défaut
    merci encore pour vos proposition.

    Alors la super Jacque merci. juste une dernière question comment faire sur la case électricité mettre 1 pour vrai et 0 pour faux ??

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

Discussions similaires

  1. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 17h37
  2. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  3. écrire le résultat d'une macro dans une cellule d'une feuille à choisir
    Par ririrourou dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/06/2008, 11h56
  4. Insérer une feuille dans une feuille
    Par PsychedeChed dans le forum Excel
    Réponses: 2
    Dernier message: 07/02/2008, 14h01
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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