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 :

Userform pour complèter un tableau


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Novembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Novembre 2014
    Messages : 7
    Par défaut Userform pour complèter un tableau
    Bonjour,

    J'essaie depuis un bon bout de temps de créer un formulaire (userform) qui incrémentes les différentes cellules de mon tableau. J'ai suivi différents tuto avec lesquels j'ai pas mal compris comment réaliser ce genre de formulaire.
    Cependant, je suis incapable de faire le code en VBA...

    j'ai réaliser les deux Userform que je souhaitait.

    Pouvez vous réaliser les codes correspondant ?

    Je joint un fichier exemple qui explique clairement ma demande et où j'ai reproduit les deux formulaires.

    Merci beaucoup,
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Bonjour,

    Ce que vous nous demandez c'est de développer une application complète. Là on ne peut vraiment pas. De plus votre projet manque un peu de précision.
    Pouvez-vous essayer de nous donner un peu plus ? On a toujours un code sous la main, mais lorsque la demande est précise la réponse l'est également.
    Merci par avance

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Novembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Novembre 2014
    Messages : 7
    Par défaut
    J'ai essayé d'être le plus claire possible dans le fichier en pièce jointe. Désolé si ce n'est pas assez claire.

    Finalement j'ai réussi à faire fonctionner mon USF 1.En revanche je n'arrive pas à réaliser l'USF 2.

    Mon USF 1 me permet d'ajouter un projet dans un tableau.
    L'USF 2 doit permettre d'ajouter un sous projet correspondant à un projet :
    PROJET (Colonne C)
    SOUS PROJET 1
    (Colonne D)
    SOUS PROJET 2
    (Colonne D)

    Pour mon USF 2, j'ai réaliser un code qui permet de sélectionner le nom du projet. Il s'agit d'une liste déroulante qui reprend toutes les information contenues en colonne C.

    Ma question est donc maintenant la suivante : comment faire pour que lors de la validation du formulaire, les données soient ajoutés dans une nouvelle ligne qui se trouve
    en dessous de la ligne qu'on à sélectionnée avec la liste déroulante de l'USF ?

    J'ai tenté Rows(Lign = ComboBox1.ListIndex + 3).Insert sans résultat...


    Voici mon code pour l'USF 2 ;



    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
     Private Sub UserForm_Initialize()
     
     ComboBox2.List = Array("Investigation", "En cours", "Clôturer")
     
     
     With Sheets("Sheet1")
     
     For n = 2 To .Range("C65535").End(xlUp).Row
     ComboBox3.AddItem .Cells(n, 3).Value
     
     Next n
     
     End With
     
     End Sub 
     
    --------------------------------------------------------------
     
    Private Sub CommandButton1_Click()
    If TextBox5 = "" Or TextBox2 = "" Then
    MsgBox ("Vous devez remplir les champs")
    Exit Sub
    End If
    derligne = Range("B65535").End(xlUp).Row + 1
    Cells(derligne, 2) = ComboBox2
    Cells(derligne, 4) = TextBox5
    Cells(derligne, 5) = TextBox2
    Cells(derligne, 6) = TextBox3
    Cells(derligne, 7) = TextBox4
    Cells(derligne, 8) = DTPicker1
    Cells(derligne, 9) = DTPicker2
    Unload Me


    En PJ le fichier en question. (Fichier test pour m'essayer...)

  4. #4
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Voici un bout de code que vous pouvez arranger pour votre projet.

    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
     
    Private Sub CmbOK_Click()
    Dim vMessageErreur As String
    Dim vErreur As Integer
    Dim vOperationNum As Long
    vMessageErreur = ""
    vErreur = 0
     
    'Affiche un message d'erreur si les éléments suivants sont manquants
    If FrmSaisie.CmbEtab.Value = "" Then
        vErreur = 1
        vMessageErreur = vMessageErreur + Chr(10) + "L'établissement"
    End If
    If FrmSaisie.TxtLieu = "" Then
        vErreur = 1
        vMessageErreur = vMessageErreur + Chr(10) + "Le lieu des travaux"
    End If
    If FrmSaisie.TxtDem = "" Then
        vErreur = 1
        vMessageErreur = vMessageErreur + Chr(10) + "Le demandeur"
    End If
    If FrmSaisie.TxtDétail = "" Then
        vErreur = 1
        vMessageErreur = vMessageErreur + Chr(10) + "Le détail des travaux"
    End If
    If vErreur = 1 Then
        MsgBox "Vous avez oublié" + vMessageErreur, , "Erreur"
    Exit Sub
    End If
    'Active la feuille Demande
    Sheets("Demande").Activate
     
    'Commence la saisie à partir de la cellule A3
    If Range("A3") = "" Then
        Range("A3").Select
        vOperationNum = 1
    Else
        Range("A2").End(xlDown).Select
        vOperationNum = Selection.Value + 1
        ActiveCell.Offset(1, 0).Range("A1").Select
    End If
    'Remplie les cellules du tableau
    ActiveCell.Value = vOperationNum
    ActiveCell.Offset(0, 1).Value = (FrmSaisie.TxtOpé)
    ActiveCell.Offset(0, 2).Value = (FrmSaisie.TxtInter)
    ActiveCell.Offset(0, 3).Value = (FrmSaisie.TxtDate1)
    ActiveCell.Offset(0, 3).Value = Format(TxtDate1, "mm/dd/yyyy")
    ActiveCell.Offset(0, 4).Value = (FrmSaisie.TxtNom)
    ActiveCell.Offset(0, 5).Value = (FrmSaisie.TxtDem)
    ActiveCell.Offset(0, 6).Value = FrmSaisie.CmbEtab.Value
    ActiveCell.Offset(0, 9).Value = (FrmSaisie.TxtLieu)
    ActiveCell.Offset(0, 10).Value = (FrmSaisie.TxtDétail)
    ActiveCell.Offset(0, 13).Value = FrmSaisie.CmbInt.Value
    If FrmSaisie.ChkFerm.Value = True Then ActiveCell.Offset(0, 15).Value = "X"
    Unload FrmSaisie
    Exit Sub
    End Sub

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Novembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Novembre 2014
    Messages : 7
    Par défaut
    Merci beaucoup,

    Cependant mes connaissances en VBA sont très proche du néant. Je suis donc perdu dans ce code dont je ne vois pas l'utilité pour moi :/

    Qu'est ce qui me permet d'insérer une nouvelle ligne sous une autre que j'ai au préalable sélectionné dans la ComboBox (liste déroulante qui reprend le contenu de la colonne D) ?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    tu as raison c'est pas utile même pour nous

Discussions similaires

  1. [XL-2007] Problème pour compléter un tableau
    Par PSAIMOND dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 25/11/2014, 15h38
  2. Création d'une macro pour compléter un tableau
    Par bingo65 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/08/2014, 14h22
  3. besoin d'aide sur un tableau userforme pour inventaire
    Par isabelle.sanchez dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 16/05/2014, 15h52
  4. Tableau dans userform pour remplacer Spreadsheet
    Par polkovak dans le forum VB.NET
    Réponses: 0
    Dernier message: 29/09/2011, 09h53
  5. Userform pour completer tableau
    Par Fadafana dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/01/2008, 16h25

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