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

VB 6 et antérieur Discussion :

[VB6] Datagrid/Msflexgrid extensible controle via utilisateur


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur
    Avatar de Overcrash
    Homme Profil pro
    Architecte Logiciel et responsable CRM (Salesforce)
    Inscrit en
    Mai 2008
    Messages
    1 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Architecte Logiciel et responsable CRM (Salesforce)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 254
    Par défaut [VB6] Datagrid/Msflexgrid extensible controle via utilisateur
    Bonjour,
    Je travaille sous Windows Xp pro. Avec Visual Basic 2006 pro.

    Je viens une nouvelle fois vers vous car j'ai un problème avec les datagrid et je ne trouve pas de tuto.

    En clair, j'aimerais créer une datagrid extensible en ligne, c'est a dire que au départ elle possède une ligne avec 3 colonnes.

    les colonnes sont statique en revanche j'aimerais que quand l'utilisateur comment a saisir une ligne qu'une deuxième ligne apparaisse. Des qu'elle a finie de saisir tous ces champs elle clic sur Save et la j'exporte vers un fichier que je nommerais conf.xls je pense mais la n'est pas encore le problème.

    Ce que j'arrive pas a faire c'est quand je lance ma useform j'aimerais accéder a mes cellule de différentes colonne a l'aide d'un simple clic afin de les remplir et ensuite générer la ligne suivante vide.
    J'ai beau essayer je n'arrive pas a trouver le "truc" pour accéder a la ligne a l'aide d'un clic.

    Je vous joins le peux que j'ai réussi a faire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub DataGrid1_Click(Index As Integer)
     
    Dim i As Integer
     
    Me.TextBox& i.Text = Me.DataGridView1.CurrentRow.Cells(i).Value
    DGTableau.Rows.Add (i)
    i = i + 1
     
    End Sub
    Bien sur ce code ne fonctionne pas ><
    Si vous avez une adresse d'un bon tuto pour les datagrid je suis preneur, je suis actuellement sur http://faqvbnet.developpez.com/?page...id_select_line mais je ne trouve pas mon bonheur.


    Merci de votre aide en espérant avoir été le plus clair possible.

    Over
    ---
    Overcrash

    Je ne lis pas les codes qui ne sont pas indentés.
    Merci de les messages utiles en cliquant en bas à droite du message

    Bloqué par le firewall pour accéder au chat ? Essayez avec l'adresse en direct : http://87.98.168.209/

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Visual Basic 2006 pro
    du .net donc, ici tu es dans le forum VB 6 et antérieur.
    Me.TextBox& i.Text
    cette syntaxe me semble de toute façon douteuse, pour le peu que je connaisse en VB 2008
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Modérateur
    Avatar de Overcrash
    Homme Profil pro
    Architecte Logiciel et responsable CRM (Salesforce)
    Inscrit en
    Mai 2008
    Messages
    1 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Architecte Logiciel et responsable CRM (Salesforce)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 254
    Par défaut
    Bonjour,

    Visual Basic 2006 diffèrent de VB6 ?
    Mon chef de projet m'a demander de le faire en Vb6 donc je me sers de microsoft visual basic ?

    Je suis un peu perdu la.
    Si vraiment je suis pas ds la bonne section tu peux me déplacer? stp.

    Merci
    Over
    ---
    Overcrash

    Je ne lis pas les codes qui ne sont pas indentés.
    Merci de les messages utiles en cliquant en bas à droite du message

    Bloqué par le firewall pour accéder au chat ? Essayez avec l'adresse en direct : http://87.98.168.209/

  4. #4
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    A ma connaissance, VB 2006 n'existe pas. Peux tu nous dire quelle version tu vois affichée si tu cliques sur le menu "A propos" de VB ?

  5. #5
    Modérateur
    Avatar de Overcrash
    Homme Profil pro
    Architecte Logiciel et responsable CRM (Salesforce)
    Inscrit en
    Mai 2008
    Messages
    1 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Architecte Logiciel et responsable CRM (Salesforce)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 254
    Par défaut
    Bonjour,

    Il affiche Microsoft Visual Basic 6.0
    Version : 8176

    J'ai demandé confirmation a mon chef de projet qui ma dit que c'était bien en Vb6 que je devais le coder.
    Je suis désolé je me suis peut être mal exprimer.

    Mais j'ai toujours mon probleme avec mes datagrid, je pense que je ne peux pas accéder au datagrid via l'utilisateur donc je vais essayer de faire la même chose avec les msflexgrid.

    Je suis toujours a la recherche de tutos ou de piste car la je patine et je déteste faire du sur place .


    Merci de votre aide
    Over.
    ---
    Overcrash

    Je ne lis pas les codes qui ne sont pas indentés.
    Merci de les messages utiles en cliquant en bas à droite du message

    Bloqué par le firewall pour accéder au chat ? Essayez avec l'adresse en direct : http://87.98.168.209/

  6. #6
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Quand on recherche VB 2006 avec Google, il y a des references à VB.NET.
    Citation Envoyé par ProgElecT Voir le message
    Me.TextBox& i.Text
    cette syntaxe me semble de toute façon douteuse, pour le peu que je connaisse en VB 2008
    Donc tu es en VB6 .
    Avant même de parler de ton problème Datagrid, TextBox& devrait te provoquer une erreur au moment même ou tu a nommé ce TextBox.

    Me.TextBox& i.Text,
    ne serait ce pas plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim i As Integer
     
    Me.TextBox(i).Text
    mais dans ce cas i n'a pas reçu de valeur
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  7. #7
    Modérateur
    Avatar de Overcrash
    Homme Profil pro
    Architecte Logiciel et responsable CRM (Salesforce)
    Inscrit en
    Mai 2008
    Messages
    1 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Architecte Logiciel et responsable CRM (Salesforce)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 254
    Par défaut
    Oui effectivement.

    Mon chef de projet viens de me dire d'utiliser des DbGrid.

    En faite le probleme est de trouvé une sorte de contrôle qui représente un tableau extensible en ligne mais pas par colonne.

    ><
    ---
    Overcrash

    Je ne lis pas les codes qui ne sont pas indentés.
    Merci de les messages utiles en cliquant en bas à droite du message

    Bloqué par le firewall pour accéder au chat ? Essayez avec l'adresse en direct : http://87.98.168.209/

  8. #8
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Citation Envoyé par Overcrash3181 Voir le message
    Oui effectivement.

    Mon chef de projet viens de me dire d'utiliser des DbGrid.

    En faite le probleme est de trouvé une sorte de contrôle qui représente un tableau extensible en ligne mais pas par colonne.

    ><
    Contrôle Microsoft FlexGrid 6.0 ou Microsoft Hierarchical FlexGrid Control 6.0 (SP6) (OLEDB) le dernier étant plus "graphique" et plus pratique me semble-t-il.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  9. #9
    Modérateur
    Avatar de Overcrash
    Homme Profil pro
    Architecte Logiciel et responsable CRM (Salesforce)
    Inscrit en
    Mai 2008
    Messages
    1 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Architecte Logiciel et responsable CRM (Salesforce)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 254
    Par défaut
    Bonjour,

    J'ai utiliser alors le composant Microsoft Hierarchical FlexGrid Control 6.0 (SP6) (OLEDB) pour l'aspect plus pratique.

    J'arrive bien a ajouter des lignes, a les supprimé comme je voulais.
    Mais je n'arrive pas a modifier les cellules directement sans passé par le code.
    J'ai trouver ce bout de code dans la Faq pour permettre cela mais ce bout de code me semble pas fonctionnel ( je me doute que si il est dans la faq c'est qu'il a été verifié ^^) mais chez moi ca foire.

    Il y a quelque chose que j'ai mal fait ?

    voici le code la partie en rouge semble causer le soucis.
    Sachant que pour le moment le but est de permettre a l'utilisateur la saisie dans les cellule directement.



    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
    Private Sub CmdSortie_Click()
         Unload Me
    End Sub
    
    
    Private Sub AjoutLigne_Click()
         MSHFlexGrid1.Rows = MSHFlexGrid1.Rows + 1 'Pour ajouter une ligne à l grille
    End Sub
    
    
    Private Sub MSHFlexGrid1_Click()
    
    Dim strTexte
    
         strTexte = MSHFlexGrid1.Text
         If KeyAscii = 8 Then
             'Touche d'effacement
         If Len(strTexte) > 0 Then MSHFlexGrid1.Text = Left(strTexte,  Len(strTexte) - 1)
         ElseIf KeyAscii <> 13 Then
              MSHFlexGrid1.Text = strTexte & Chr(KeyAscii)
         End If
    
    End Sub
    
    Private Sub SuppLigne_Click()
         Dim A As String
    
        If MSHFlexGrid1.Rows = 1 Then
               A = MsgBox("Impossible de supprimé d'avantage de ligne", vbCritical, "Erreur")
        Else
                MSHFlexGrid1.Rows = MSHFlexGrid1.Rows - 1 'Pour ajouter une ligne à l grille
         End If
    
    End Sub
    ---
    Overcrash

    Je ne lis pas les codes qui ne sont pas indentés.
    Merci de les messages utiles en cliquant en bas à droite du message

    Bloqué par le firewall pour accéder au chat ? Essayez avec l'adresse en direct : http://87.98.168.209/

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

Discussions similaires

  1. [VB6] Concaténation de deux controles RTF facile
    Par bbbastien dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 25/02/2004, 12h58
  2. [VB6] Datagrid afficher ou cacher des colonnes par code
    Par soazig dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 06/02/2003, 17h19
  3. [VB6] [Interface] Déchargement de controles
    Par Troopers dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 22/10/2002, 15h01
  4. [VB6] [Réseau] Prendre le contrôle d'un téléchargement
    Par Tchetch dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 22/10/2002, 14h18
  5. [VB6] [Interface] Nbre de contrôles maxi dans une feuille
    Par Midou dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 13/10/2002, 16h09

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