1. Ce site utilise des "témoins de connexion" (cookies) conformes aux textes de l'Union Européenne. Continuer à naviguer sur nos pages vaut acceptation de notre règlement en la matière. En savoir plus.

XL 2007 Bouton "précédent" dans une userform

Discussion dans 'Forum Excel' démarrée par aleks73, 20 Mars 2017.

  1. aleks73

    aleks73 XLDnaute Nouveau

    Inscrit depuis le :
    17 Mars 2017
    Messages :
    8
    "J'aime" reçus :
    0
    Bonjour,
    Venant d'Accès et étant novice en VBA, je bloque sur la création d'une Userform. Cette Userform a pour but de remplir un tableau "base de donnée".
    Dans un premier temps j'ai créer l'Userform avec toutes mes ComboBox et TextBox pour l'ajout de ligne à mon tableau, ce qui semble fonctionner. Je bloque sur la création d'un bouton pour naviguer entre les lignes (dans le but de les modifier depuis l'userform).
    Auriez-vous une idée du code ?
    Bonne journée,
    PS: en PJ mon fichier avec des données "bidon" par soucis de confidentialité.
     

    Pièces jointes:

  2. Lone-wolf

    Lone-wolf XLDnaute Barbatruc

    Inscrit depuis le :
    25 Mars 2010
    Messages :
    5161
    "J'aime" reçus :
    351
    Sexe :
    Masculin
    Travail/Loisirs :
    SE/Programmation (VBA Excel)
    Habite à:
    Ouest-Suisse
    Page d'accueil :
    Utilise:
    Excel 2013 (PC)
    Bonjour aleks

    Dans la feuille Informations tu vas rajouter des valeurs oubien cela va rester comme ça?? Parce-que si tu as 2 ou 3 mots, autant le faire directement dans la feuille. Par exemple OUI - NON , A-B, EFFORT -ELEC etc.
     
  3. Lone-wolf

    Lone-wolf XLDnaute Barbatruc

    Inscrit depuis le :
    25 Mars 2010
    Messages :
    5161
    "J'aime" reçus :
    351
    Sexe :
    Masculin
    Travail/Loisirs :
    SE/Programmation (VBA Excel)
    Habite à:
    Ouest-Suisse
    Page d'accueil :
    Utilise:
    Excel 2013 (PC)
    Re

    Ton fichier en retour, regarde si ça convient. Pour faciliter la recherche, j'ai ajouté une colonne pour un identifiant unique, vu que tu vas avoir des doublons; et au lieu des boutons j'ai mis une combo de recherche pour modifier ou supprimer les données. Parce-que avec les boutons et si tu à 20000 lignes, je te souhaite bon courage pour afficher la 18000ème ligne. Double-clique sur la feuille Tableau pour afficher le formulaire.

    NOTE: mon fichier avec des données "bidon". Heuresement que le bidon était vide, sinon j'aurais pris une belle trempe. :D

    EDIT : Version 4 avec bouton suivant et précédent
     

    Pièces jointes:

    Dernière édition: 20 Mars 2017
    aleks73 aime votre message.
  4. aleks73

    aleks73 XLDnaute Nouveau

    Inscrit depuis le :
    17 Mars 2017
    Messages :
    8
    "J'aime" reçus :
    0
    Encore une super réponse de ce Monsieur loup, Merci ! :)

    Effectivement pour ton premier com, la feuille information va rester comme cela.
    Je regarde les fichiers que tu a créer demain car mon Mac n'est pas encore équipé d'excel et numbers ... voila quoi.

    Je voulais remplir le bidon mais pas trouver la VBA pour le génépi :cool:

    Bonne soirée
     
  5. Lone-wolf

    Lone-wolf XLDnaute Barbatruc

    Inscrit depuis le :
    25 Mars 2010
    Messages :
    5161
    "J'aime" reçus :
    351
    Sexe :
    Masculin
    Travail/Loisirs :
    SE/Programmation (VBA Excel)
    Habite à:
    Ouest-Suisse
    Page d'accueil :
    Utilise:
    Excel 2013 (PC)
    Bonjour aleks :), le Forum :)

    Une correction des codes modification et suppression

    Code (Visual Basic):

    Private Sub Modifications_Click()
        Reponse = MsgBox("Confirmez-vous la modification de ce robinet ?", _
                         vbYesNo, "Demande de modification")

        If Reponse = vbYes Then
            With WsT
                rw = Application.Match(ComboBox7, .Columns(1), 0)
                .Cells(rw, "B") = ComboBox1
                .Cells(rw, "C") = TextBox1
                .Cells(rw, "D") = TextBox2
                .Cells(rw, "E") = ComboBox2
                .Cells(rw, "F") = TextBox3
                .Cells(rw, "G") = ComboBox3
                .Cells(rw, "H") = TextBox4
                .Cells(rw, "I") = TextBox5
                .Cells(rw, "J") = ComboBox4
                .Cells(rw, "K") = ComboBox5
                .Cells(rw, "L") = ComboBox6
                .Cells(rw, "M") = TextBox6
                .Cells(rw, "N") = TextBox7
            End With
        Else
            Unload Me
        End If

        For i = 1 To 7
            Controls("ComboBox" & i) = ""
        Next i
        For i = 1 To 7
            Controls("TextBox" & i) = ""
        Next i

    End Sub

    Private Sub Supprimer_Click()
        Reponse = MsgBox("Confirmez-vous la suppression de ce robinet ?", _
                         vbYesNo, "Demande de suppression")
        Num = 2348
     
        If Reponse = vbYes Then
            With WsT
                rw = Application.Match(ComboBox7, .Columns(1), 0)
                .Rows(rw).EntireRow.Delete
                derlig = .Cells(Rows.Count, "A").End(xlUp).Row
                 For i = 2 To derlig
                    .Cells(i, "O") = i + Num
                    .Cells(i, "A") = .Cells(i, "B") & "-" & i
                Next i
                .Cells(derlig, "A").EntireRow.Delete
            End With
        Else
            Unload Me
        End If

        For i = 1 To 7
            Controls("ComboBox" & i) = ""
        Next i
        For i = 1 To 7
            Controls("TextBox" & i) = ""
        Next i
    End Sub
     
     
  6. aleks73

    aleks73 XLDnaute Nouveau

    Inscrit depuis le :
    17 Mars 2017
    Messages :
    8
    "J'aime" reçus :
    0
    Merci pour les fichiers !! Juste ce que je rechercher :) Pour la correction des codes modif et supp, j'ai simplement copié celui de modif et garder l'ancien pour la suppression car le nouveau entrainer l'ouverture du débogueur.

    Si tu me permets de prendre encore un peu de ton temp de Maitre VBA :D, est-il possible de :
    - pour la TextBox2 (ref) la remplir automatiquement en combinant la ComboBox1 (site) avec la TextBox1 (RF) et verrouiller cette TextBox ?
    - pour l'ID à la place de ComboBox1(site)+incrémentation de mettre TextBox2(réf)+date de création ?

    Bonne journée,
     
  7. Lone-wolf

    Lone-wolf XLDnaute Barbatruc

    Inscrit depuis le :
    25 Mars 2010
    Messages :
    5161
    "J'aime" reçus :
    351
    Sexe :
    Masculin
    Travail/Loisirs :
    SE/Programmation (VBA Excel)
    Habite à:
    Ouest-Suisse
    Page d'accueil :
    Utilise:
    Excel 2013 (PC)
    Bonjour aleks :), le Forum :)

    Pour la 1ère demande, ça peut le faire. Pour la 2ème, je n'ai rien compris. Tu veus faire quoi au juste? Supprimer la colonne ID et mettre à la place TextBox2(réf)+date de création ??? :rolleyes:
     
  8. aleks73

    aleks73 XLDnaute Nouveau

    Inscrit depuis le :
    17 Mars 2017
    Messages :
    8
    "J'aime" reçus :
    0
    Bonjour Lone Wolf:),

    Effectivement je veux remplacer ce qui est automatiquement inscrit dans la colonne ID (pour faciliter la recherche pour l'utilisateur), actuellement elle est rempli (si j'ai bien compris) par la ComboBox1 et une incrémentation de chiffre ex : FLA-9, je souhaiterai le remplacer par la TextBox2+ la date de création (date a laquelle l'utilisateur créer la ligne dans le tableau) ce qui donnerai : FLA2GCT129VV-21032017 ( aucune exigence sur le format de la date).


    Je ne sais pas si j'ai été claire, à ta disposition au besoin :)
     
  9. Lone-wolf

    Lone-wolf XLDnaute Barbatruc

    Inscrit depuis le :
    25 Mars 2010
    Messages :
    5161
    "J'aime" reçus :
    351
    Sexe :
    Masculin
    Travail/Loisirs :
    SE/Programmation (VBA Excel)
    Habite à:
    Ouest-Suisse
    Page d'accueil :
    Utilise:
    Excel 2013 (PC)
    Re

    Ahhh, d'accord?!. Ok, no problemo. ;)

    "Je ne sais pas si j'ai été claire". Trop même, tu es devenu tellement claire que je ne te vois pas. :D
     
  10. Lone-wolf

    Lone-wolf XLDnaute Barbatruc

    Inscrit depuis le :
    25 Mars 2010
    Messages :
    5161
    "J'aime" reçus :
    351
    Sexe :
    Masculin
    Travail/Loisirs :
    SE/Programmation (VBA Excel)
    Habite à:
    Ouest-Suisse
    Page d'accueil :
    Utilise:
    Excel 2013 (PC)
    Re

    À propos de la première colonne, je te conseil de la laisser comme elle est; par-ce que encore une fois tu risque d'avoir des doublons et sa sera la kata ensuite. Désolé, j'aurais dû te le dire avant.
     
  11. Lone-wolf

    Lone-wolf XLDnaute Barbatruc

    Inscrit depuis le :
    25 Mars 2010
    Messages :
    5161
    "J'aime" reçus :
    351
    Sexe :
    Masculin
    Travail/Loisirs :
    SE/Programmation (VBA Excel)
    Habite à:
    Ouest-Suisse
    Page d'accueil :
    Utilise:
    Excel 2013 (PC)
    Re 3 x

    En PJ la version 5. Dans la feuille "Données", j'ai rajouté des références. Quand tu sélectionne la 1ère combo, les données viennent s'afficher dans TextBox1 et 2. J'ai l'aissé la macro pour ID en y ajoutant la date du jour. Regarde si ça te convient.
     

    Pièces jointes:

    aleks73 aime votre message.
  12. aleks73

    aleks73 XLDnaute Nouveau

    Inscrit depuis le :
    17 Mars 2017
    Messages :
    8
    "J'aime" reçus :
    0
    Re,

    Super la macro pour l'ID.

    Par contre pour le remplissage automatique de l'userform, il faudrait juste que la textbox2 ce remplisse automatiquement, une fois que l'utilisateur à rempli la combobox1 et textbox1 en s'ajoutant (combobox1&textbox1)(FLA2RRR520PO). Je suis chiant je sais :).

    Merci beaucoup pour le temp que tu conssacre à mon appli !

    Je te laisse en PJ, quelque amélioration que j'ai effectuer. ( A l'activation il passe en mode pleine ecran le bouton "mode administrateur" désactive tout.

    EDIT : Je retravail ma boucle de recherche de la feuille 'suivis" qui ne fonctionne pas encore pleinement
     

    Pièces jointes:

  13. Lone-wolf

    Lone-wolf XLDnaute Barbatruc

    Inscrit depuis le :
    25 Mars 2010
    Messages :
    5161
    "J'aime" reçus :
    351
    Sexe :
    Masculin
    Travail/Loisirs :
    SE/Programmation (VBA Excel)
    Habite à:
    Ouest-Suisse
    Page d'accueil :
    Utilise:
    Excel 2013 (PC)
    Re aleks

    Pas besoin de remplir la textbox1 et 2, puisque après sélection de la combo 1, elles se remplissent automatiquement.
     
  14. aleks73

    aleks73 XLDnaute Nouveau

    Inscrit depuis le :
    17 Mars 2017
    Messages :
    8
    "J'aime" reçus :
    0
    Re Lone-Wolf,

    Et si malheureusement car pour chaque réf de la ComboBox1 on peut avoir plus de 1000 TextBox1(RF) different, il serais donc trop fastidieux de créer un liste avec chacun d'entre eux. Pour cela que l'utilisateur doit rentrer impérativement la Combo1 et la text1 a minima.
    Pour t'expliquer concrètement la combo1 correspond à un lieu et dans ce lieu on peut avoir plusieurs matériels different (la text1 (RF)). Toutes les autres combo & text corresponde au informations sur le matériel

    La text2 me sert simplement pour que dans la feuille suivis les informations soit rechercher correctement.
     

Partager cette page