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 :

enregistrement tableau excel suivant les données entrées dans combobox


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 30
    Points : 14
    Points
    14
    Par défaut enregistrement tableau excel suivant les données entrées dans combobox
    bonjour le forum,

    j'ai un usf (bons de livraison)avec 1 textbox(nombre),1 combobox(produit) , 1 textbox(poids)

    j'ai un tableau avec : 1 colonne(écran)1souscolonne(poids)1souscolonne(nombre)
    1 colonne(uc)1souscolonne(poids)1souscolonne(nombre).

    je sais faire quand c'est des données 'fixes'

    là par exemple si dans mon combobox1,j'ai "ecran" avec en nombre 10 et en poids 25, les données se mettent dans la bonne colonne.

    Pouvez vous m'aiguiller car je suis complètement larguée
    merci

  2. #2
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 133
    Points : 160
    Points
    160
    Par défaut Clarifier par un exemple ...
    Bonjour

    J'avoue ne pas bien comprendre ton problème car tu n'expliques pas la nature


    Un fichier à joindre dans ton message serait le bienvenu qui permettrait de mieux comprendre en bradant bien sur les données contenues .......



  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 30
    Points : 14
    Points
    14
    Par défaut
    je te joints mon fichier.

    le usf à partir duquel je veux travailler c'est
    menu general
    clients
    bons
    le fichier excel rattaché c'est "entrée"
    merci en attendant.

    J'essaie de voir avec des if then else
    mais je ne m'y connais pas trop
    merci de ton aide
    Fichiers attachés Fichiers attachés

  4. #4
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 133
    Points : 160
    Points
    160
    Par défaut Je te propose
    cette approche


    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
     
    Private Sub CommandButton1_Click()
    Dim Xls As Worksheet, lLig As Long
        Set Xls = ThisWorkbook.Worksheets("entrée")
        'Recherche la ligne disponible
     
        lLig = 3
        While Xls.Cells(lLig, 1) <> ""
            lLig = lLig + 1
        Wend
        ' insere les donnees de la commande des cinq premieres colonnes
        ..... code 
        ' Aiguillage selon la nature
        Select Case ComboBox55
            Case "uc"
            Xls.Cells(lLig, 6) = TextBox90.Value
            Xls.Cells(lLig, 7) = TextBox108.Value
            Case "ecran"
            Xls.Cells(lLig, 8) = TextBox90.Value
            Xls.Cells(lLig, 9) = TextBox108.Value
        End Select
     
        ' Fin d 'enrgistrement dans entrees
     
     
    End If
     
    End Sub

    A plus

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 30
    Points : 14
    Points
    14
    Par défaut
    le code marche impec

    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
    Private Sub CommandButton1_Click()
    Sheets("entrée").Activate
    Dim Xls As Worksheet, lLig As Long
        Set Xls = ThisWorkbook.Worksheets("entrée")
        'Recherche la ligne disponible
        lLig = 3
        While Xls.Cells(lLig, 1) <> ""
            lLig = lLig + 1
        Wend
        ' insere les donnees de la commande des cinq premieres colonnes
       Xls.Cells(lLig, 1) = TextBox113.Value
        Xls.Cells(lLig, 3) = TextBox112.Value
       Xls.Cells(lLig, 4) = TextBox111.Value
       Xls.Cells(lLig, 5) = TextBox110.Value
        ' Aiguillage selon la nature
        Select Case ComboBox55
            Case "uc"
            Xls.Cells(lLig, 6) = TextBox90.Value
            Xls.Cells(lLig, 7) = TextBox108.Value
            Case "ecran"
            Xls.Cells(lLig, 8) = TextBox90.Value
            Xls.Cells(lLig, 9) = TextBox108.Value
        End Select
        ' Fin d 'enrgistrement dans entrees
    Unload Me
    End Sub
    par contre vu que j'ai pas mal de combobox, est ce que je peux faire une boucle et peux tu me dire la marche à suivre car jamais fait ça (juste entendu)

  6. #6
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 133
    Points : 160
    Points
    160
    Par défaut Un peu d'organisation dans les noms
    les noms des txtboxes et combox etc ..... ne sont vraiment pas significatifs !!!! et donc pas tres exploitables

    Si tes controles étaient bien nommes on peut automatiser

    exemple

    TxtQte01.Text
    CmbNat01.Text
    TxtPds01.Text
    TxtQte02.Text
    TxtNat02.Text
    TxtPds02.Text
    ......


    enieme controles
    TxtQtenn.Text
    CmbNatnn.Text
    TxtPdsnn.Text



    Sinon pour répondre à ta question

    un extrait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        Dim Ctrl as Control
        ' a toi de l'adapter seloin tes besoins
        ' pour chacun des controls de l'userform ......
        For Each Ctrl In Me.Controls
            ' Aiguillage selon la nature
            ' if Crt.Name Like "Txt...." then        
                 Select Case Ctrl
    Sinon j'aurai fait sous la form d'une liste que j'ajoute au fur a mesure ....



  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 30
    Points : 14
    Points
    14
    Par défaut
    j'ai reussi en appliquant la premiere solution meme si j'ai plein de combobox et ca marche.

    Par contre j'ai un souci quand je veux afficher mes infos dans mon userform

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    If "Cells(0, 7)<0" Then
     
         Me.TextBox90 = c.Offset(0, 10)
         Me.TextBox108 = c.Offset(0, 11)
        Me.ComboBox55 = c.Offset(0, 9) 'ecran
    Else
     Me.TextBox90 = c.Offset(0, 7).Value
         Me.TextBox108 = c.Offset(0, 8).Value
        Me.ComboBox55 = c.Offset(0, 6).Text 'uc
     
        End If
    c'est à dire je voudrais par exemple quand ma cellule H3de ma feuille excel est vide alors mes cellules k3,l3,j3("ecran") se mettent dans mon usf (ca c'est bon)par contre quand H3 n'est pas vide, alors ce sont mes cellules h3,i3,g3("uc")qui s'affichent mais là ca ne s'affiche pas.
    Dans mon usf, c'est toujours "ecran" qui s'affiche : quand h3 est rempli.

    Je ne sais pas si c'est trop clair

  8. #8
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    sans lire en détail :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If "Cells(0, 7)<0" Then
    ne doit pas être entre "".

    Ici tu ne test rien.

Discussions similaires

  1. Conserver les données entrées dans mon userform
    Par bidochon34800 dans le forum VBA Word
    Réponses: 15
    Dernier message: 11/06/2014, 10h23
  2. Recuperer les données entré dans JTextField vers Dans un autre JFrame
    Par Francisco22 dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 30/04/2014, 17h38
  3. [MySQL] tester les données entrées dans la formulaire
    Par marwen86 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 23/02/2010, 15h47
  4. Réponses: 6
    Dernier message: 31/05/2008, 18h05
  5. [Conception] Afficher les données (BDD) dans un tableau en PHP
    Par ox@na dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 04/09/2006, 15h24

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