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 :

Création recherche excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien auto
    Inscrit en
    Novembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien auto

    Informations forums :
    Inscription : Novembre 2011
    Messages : 22
    Points : 15
    Points
    15
    Par défaut Création recherche excel
    Bonjour à tous. Je vous explique mon problème.

    Je suis dans l'automobile et je gère l'outillage spécifique. Aujourd'hui, la liste d'outillage est un simple fichier excel (je vous ai mis un exemple en pièce jointe. Le vrai fichier à un peu plus de 700 lignes).

    Aujourd'hui je souhaite créer un logiciel jovial.

    J'ai beaucoup de connaissance en informatique par passion mais beaucoup moins en programmation.

    Dans le fichier excel joint, j'ai créé dans le VB intégré, des Windows form pour expliquer mon projet.


    En gros :

    la fenêtre1, serait la première, un choix de recherche.
    la fenêtre2, serait si la première case de la fenetre1 aurais été coché.
    la fenêtre3, serait si la deuxième case de la fenetre1 aurais été coché.
    la fenêtre4, serait si au cour de l'appuie sur le bouton "recherche" de la fenetre 2 ou 3 il n'y aurait pas de correspondance trouvé.
    la fenêtre5, serait le résultat afficher après avoir appuyer sur le bouton recherche des fenêtre 2 ou 3.


    J'ai lu un peu l'excellent cour vb.net : http://plasserre.developpez.com/cours/vb-net/
    mais je ne sais pas ce qui correspond à ce qu'il faut que je fasse.

    Pouvez vous m'aider à créer ce projet tout en m'expliquant ce qui doit etre fait car j'aime apprendre, et cela pourra surement me resservir. Je pense que c'est plus simple qu'avec un fichier tout fait.

    Je connais quelque fonction VB que j'ai d'ailleur fait sur le fichier excel pour essayer.

    Ce que je ne sait pas faire en faite c'est par exemple pour la fenetre1 quelque chose du genre : if case 1 cocher alors then clic sur valider, ouvrir fenetre2....

    creer des règle de recherche

    afficher le resultat d'une recherche dans une autre fenetre.


    Je reste à votre disposition si vous avez des questions. N'hésitez pas à m'explique les codes si cela ne vous ennuie pas.

    J'utilise Excel 2003, le VB intégré 6.3, Microsoft Visual studio 2010, Access 2003.

    Je vous remercie par avance de l'aide que vous m'apporterer.

    Cordialement Sébastien GILLOT
    Fichiers attachés Fichiers attachés

  2. #2
    Membre expérimenté Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Points : 1 455
    Points
    1 455
    Par défaut
    Bonjour,

    Ton projet n'est pas du tout du vb.net, mais du VBA/VB6.... *tu risque de ne pas avoir beaucoup de réponses ici*
    au mieux un moderateur va déplacer ton sujet dans le bon forum de developpez

    Le cours de P.Lasserre est éfféctivement un trés bon cour mais pour du vb.net *pas du VBA *
    pour ton exemple de changement de fenetre tu peux commencer par ceci:
    *attention ce code ne gére pas tout, si deux cases sont cochée... comment faire...?*
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub CommandButton1_Click()
        If (CheckBox1.Value = True) Then
            Me.Hide
            fenetre2.Show
        ElseIf (CheckBox2.Value = True) Then
            Me.Hide
            fenetre3.Show
        Else
            MsgBox ("Aucun choix n'a était saisi")
        End If
    End Sub
    PS: Tu devrai utiliser des "RadioButton"


    après je te laisser cherche un peu
    balayer ton fichier Excel devrait être enrichissant
    -------------------------------------------------------------------------------------

    pour te donner d'autres idées,
    tu peut également gérer les événement de tous les objets de ton form comme ceci :



    encadré en rouge sont tous les événements de la CheckBox1
    Aprés je te laisse voir a quoi ils servent sur le Web

    *Enjoy*

  3. #3
    Membre à l'essai
    Homme Profil pro
    Technicien auto
    Inscrit en
    Novembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien auto

    Informations forums :
    Inscription : Novembre 2011
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Bonjour,

    Ça y'est le message a été déplacé.

    Merci pour ce début. C'est une connaissance en plus.

    Je regarderais plus en détail toute votre réponse ce soir. Je vais continuer à explorer toute la feuille excel et les possibilité de VB.

    Merci déjà.

    Cdlmnt

    J'ai commencé à mettre un peu de code notament celui proposé par hunteshiva et un peu d'autre. J'ai mis mon fichier en pièce jointe. Finalement il y'a un peu plus de 700 lignes. Il y'en à 1556.

    Une chose qui me manque vraiment c'est le code pour que mon bouton "recherche" des WinForm 2 et 3 soit actif.

    Je recherche actuellement, comment faire pour que si je rentre dans la WinForm 2 par exemple le numéro d'outil T10200, et que je clic sur rechercher,

    la fenêtre2 se ferme,
    la fenêtre5 s'ouvre et les champs vides sont remplient par les données correspondantes à ma recherche.



    Merci encore pour votre aide.


    ps : aucune mise en forme n'a été faite.

    Cdlmnt
    Fichiers attachés Fichiers attachés

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 226
    Points : 225
    Points
    225
    Par défaut
    Hello,

    J'avais bidouillé ton fichier, vois le retour je pense que c'est ce que tu veux.

    La fenetre4 ne te sert à rien dans ce cas.

    Si je peux te donner un conseil, c'est de bien nommer les divers contrôles que tu mets dans tes formulaires (quoiqu'avec des boucles...) tu t'y retrouveras plus facilement.

    Essaie de bien analyser le code. Si besoin n'hésite pas.
    Fichiers attachés Fichiers attachés
    Cdt, Antonio.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Technicien auto
    Inscrit en
    Novembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien auto

    Informations forums :
    Inscription : Novembre 2011
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Bonjour,

    J'ai regardé ce travail et il me semble parfait.

    J'ai remarqué que dans un ComboBox, ont pouvait écrire du texte, la fenêtre 1 et 3 ne servent donc plus. Je les aient enlevés.

    J'ai plusieurs petites questions.

    Sur ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub UserForm_Initialize()
     
        With Sheets("Feuil1")
            For n = 4 To .Range("A1000").End(xlUp).Row
                ComboNumOutil.AddItem .Cells(n, 1).Value
            Next n
        End With
     
    End Sub
    Je voulais savoir quel est la fonction de "n = 4" ?
    Est ce que ce code permet de ne rien inscrire dans la fenêtre de propriété "RowSource" ?

    Et il y'a ce bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A" & n & ":G" & n).Interior.ColorIndex = 3
    que je ne comprend pas non plus.

    Merci encore. Demain j'essai de mettre en place ce code sur mon fichier originale avec mes 5000 et quelques lignes et je le posterais avant de faire la mise en forme des fenêtres. Merci encore.

  6. #6
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Points : 3 974
    Points
    3 974
    Par défaut
    Bonjour,

    Quelle est la fonction de "n = 4" ?
    Est ce que ce code permet de ne rien inscrire dans la fenêtre de propriété "RowSource" ?
    Le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Feuil1").Range("A1000").End(xlUp).Row
    retourne le numéro de la dernière ligne renseignée dans la colonne A de la feuille « Feuil1 », c'est-à-dire 11 dans ce cas.
    La boucle FOR-NEXT balaye la colonne A de la ligne n=4 à la ligne n=11 et permet de remplir la ComboBox avec les 8 valeurs de la plage A4:A11. Ce remplissage est effectué avec la méthode AddItem. La propriété RowSource aurait pu également être utilisée pour remplir la ComboBox.
    il y'a ce bout de code "Range("A" & n & ":G" & n).Interior.ColorIndex = 3" que je ne comprend pas
    La propriété interior.Colorindex définit la valeur qui représente la couleur de l'intérieur de la cellule.
    Avec n=4 par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A4:G4").interior.Colorindex=3
    se traduit par « les cellules de la plage A4:G4 sont remplies avec la couleur rouge »

    Cordialement.

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 226
    Points : 225
    Points
    225
    Par défaut
    Re,

    Je rajouterais pour compléter les infos de gFZT82 que...

    n = 4 parce que ta liste d'outil commence à la ligne numéro 4.

    For n = 4 To .Range("A1000").End(xlUp).Row veut dire :
    Pour la colonne A de la ligne 4 à la dernière ligne pleine (de 4 à 1000).

    Et... ComboNumOutil.AddItem .Cells(n, 1).Value veut dire que la ComboNumOutil prend comme items les valeurs des lignes n de la colonne A -> Cells(n, 1)n = la ligne et 1 = la première colonne.

    Par exemple Cells(n, 5) serait n = la ligne et 5 = la colonne E.

    En espérant t'avoir éclairci un peu plus.

    Cdt, Antoniom
    Cdt, Antonio.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Technicien auto
    Inscrit en
    Novembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien auto

    Informations forums :
    Inscription : Novembre 2011
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Rebonjour et bonne année à vous !

    Je me suis absenté du forum pour pofiner le logiciel. J'ai grâce à vous appris un peu plus sur ce langage et je vous en remercie beaucoup.

    Il me reste cependant un , je le pense dernier problème, un peu de code pour faire ceci :

    sur l'userform "choixconcession", je souhaite choisir une des concession présente sur la ligne 12 de la feuil "outil".

    Ensuite,

    quand ont clique sur "rechercher un outil", "accueilrechercheoutil" s'ouvre, (ça c'est bon), on sélectionne un outil dans la liste et quand on clique sur "rechercher l'outil", il ouvre l'UF "resultatrecherche" (c'est bon aussi). En revanche, je voudrais que les Textbox "TextEmplacement" , "TextRemarques" se remplisse de la valeur correspondante à la concession sélectionner.

    Exemples conquerrais :


    Pour l'outil 10-101, en sélectionnant la concession : "Chambery Automobile -Arveyres", on as en résultat, "emplacement : VER et remarque : essai.

    Pour le même outil, en sélectionnant la concession : "Alizés automobiles -Les Sables d'Olonne", on as en résultat, "emplacement : P2 et remarque : 1234

    Merci beaucoup de votre aide.


    PS : Pour entrer dans le classeur excel, cliquer sur la bannière "" Vw audi Seat Skoda "" de la fenêtre d’accueil.

    Pour fermer la fenêtre d’accueil une fois le classeur ouvert, cliquez sur la croix rouge.

    Le mot de passe pour Visual basic est : aeinstein


    Attention, j'ai supprimer l’enregistrement automatique. Si vous cliquez sur la croix, il n'enregistre pas.



    Encore merci.
    Fichiers attachés Fichiers attachés

  9. #9
    Membre chevronné Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Points : 2 131
    Points
    2 131
    Par défaut
    Je commence à regarder ton programme.
    Il faut que je comprenne un peu mieux ce qu'il fait avant de t'aider.

    En attendant, s'il est utilisé de manière professionnelle, 2 premières remarques d'orthographe sur la page d'accueil :
    - On écrit "Ce Logiciel vous est proposé par Sébastien GILLOT".
    - Et mets plutôt "Quitter" que "Quittez".

    J'aurais pas mal de remarque sur ton outil, mais il a l'air de fonctionner donc on ne va pas refaire le monde. Le seul problème étant que dans la version que tu as posté la liste des concessions ne se remplit pas, mais j'ai rajouté dans choixconcession :
    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
    'Initialisation
    Private Sub UserForm_Initialize()
        Dim ws As Worksheet
        Dim i As Integer
     
        Set ws = Worksheets("listeconcession")
     
        Me.listenomconcess.Clear
     
        i = 1
        Do While ws.Cells(i, 1).Value <> 0
            Me.listenomconcess.AddItem ws.Cells(i, 1).Value
            i = i + 1
        Loop
    End Sub
    Ensuite pour ce qui est de ta demande, j'ai modifié dans accueilrechercheoutil
    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
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    Private Sub BtnRecherche_Click()
        Dim ws As Worksheet
        Dim rg As Range
        Dim i As Integer
        Dim ligneOutil As Integer
        Dim colonneConcession As Integer
     
        Set ws = Worksheets("Outils")
     
        'Recherche de la ligne de l'outil
        Set rg = ws.Range(ws.Range("A14"), ws.Range("A65000").End(xlUp)).Find(ComboNumOutil.Value)
     
        If rg Is Nothing Then
            MsgBox "Veuillez choisir un numéro d'outil dans la liste ! "
            ComboNumOutil.SetFocus
            Exit Sub
        End If
     
        ligneOutil = rg.Row
     
        'Recherche de la colonne de la concession
        colonneConcession = -1
        For i = 11 To 67
            If ws.Cells(12, i).Value & ws.Cells(13, i).Value = nomconcess.Value Then
                colonneConcession = i
            End If
        Next i
     
        If colonneConcession = -1 Then
            MsgBox "Problème dans la concession choisie"
            ComboNumOutil.SetFocus
            Exit Sub
        End If
     
        Unload Me
     
        With resultatrecherche
            .TextNumOutil = ws.Cells(ligneOutil, 1).Value
            .TextLibelle = ws.Cells(ligneOutil, 4).Value
            .TextEquivalance = ws.Cells(ligneOutil, 3).Value
            .TextTaux = ws.Cells(ligneOutil, 5).Value
            .TextPrix = ws.Cells(ligneOutil, 8).Value
     
            .TextEmplacement = ws.Cells(ligneOutil, colonneConcession + 1).Value
            .TextRemarques = ws.Cells(ligneOutil, colonneConcession + 2).Value
     
            .prealizeslessables = ws.Cells(ligneOutil, 11).Value
            .prealizeslaroche = ws.Cells(ligneOutil, 14).Value
            .prealizesseat = ws.Cells(ligneOutil, 17).Value
            .prechamberyare = ws.Cells(ligneOutil, 20).Value
            .prechamberylormont = ws.Cells(ligneOutil, 23).Value
            .prechamberyornon = ws.Cells(ligneOutil, 26).Value
            .precholletbressuire = ws.Cells(ligneOutil, 29).Value
            .precholletparthenay = ws.Cells(ligneOutil, 32).Value
            .precouturierfontenay = ws.Cells(ligneOutil, 35).Value
            .precouturierlucon = ws.Cells(ligneOutil, 38).Value
            .predugastaudi = ws.Cells(ligneOutil, 56).Value
            .predugastvu = ws.Cells(ligneOutil, 62).Value
            .predugastvw = ws.Cells(ligneOutil, 59).Value
            .prehorizon = ws.Cells(ligneOutil, 41).Value
            .preouest = ws.Cells(ligneOutil, 44).Value
            .prepmbouscat = ws.Cells(ligneOutil, 50).Value
            .prepmbuch = ws.Cells(ligneOutil, 47).Value
            .prepmmerignac = ws.Cells(ligneOutil, 53).Value
            .prevlh = ws.Cells(ligneOutil, 65).Value
            .nomconcess2 = ws.Cells(ligneOutil, 69).Value
            .Show
        End With
     
    End Sub
    Le seul problème est que tu as copié le nom des concessions sur deux lignes ce qui n'est pas très pratique, mais on s'en sort quand même. Le plus propre aurait été de donner un numéro aux concessions et de travailler avec ce numéro.
    « Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell

  10. #10
    Membre à l'essai
    Homme Profil pro
    Technicien auto
    Inscrit en
    Novembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien auto

    Informations forums :
    Inscription : Novembre 2011
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Bonjour et déja merci beaucoup pour cette réponse.

    Effectivement cela fonctionne bien. Je vais essayer d'adapter aussi le code pour les équipements et comme j'aime apprendre, je vais essayer de comprendre le code et je vous poserais des questions au besoin.

    Merci encore et aussi pour les fautes d'ortographe.

  11. #11
    Membre chevronné Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Points : 2 131
    Points
    2 131
    Par défaut
    Pour les fautes, ce n'était pas pour t'embêter, il y en a qui font bien pire que toi sur ce forum (même si j'ai eu un peu de mal à comprendre ton "Exemples conquerrais :" ).
    C'était surtout parce qu'a priori, ton application est utilisée par d'autres personnes alors ça fait plus sérieux

    A+
    « Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell

  12. #12
    Membre à l'essai
    Homme Profil pro
    Technicien auto
    Inscrit en
    Novembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien auto

    Informations forums :
    Inscription : Novembre 2011
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Bonsoir,

    j'ai adapté le code à l'aveugle sur les équipements et tester tout ça et j'ai 1 seul petit problème c'est :

    Quand ont choisis la concession : - Ouest Automobiles - Challans
    ou - Chambery Automobile - Villenave d' Ornon
    et que l'on clique sur "rechercher un outils" puis après avoir sélectionné un outil, on clique sur "rechercher l'outil", il marque la messagebox : "Problème dans la concession choisie".

    Ont a le même problème avec les équipements pour les concessions :

    - Chambery Automobile - Villenave d' Ornon
    - Ouest Automobiles - Challans
    - Alizés automobiles - Les Sables d'Olonne

    J'ai cherché mais sans trouver la solution.

    Je n'ai pas eu le temps de bien étudier tout le code mais je pense en avoir compris une bonne partie. Des connaissance en plus...

    Merci encore
    Fichiers attachés Fichiers attachés

  13. #13
    Membre chevronné Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Points : 2 131
    Points
    2 131
    Par défaut
    En fait, comme tu as pu le voir dans le code, pour retrouver la colonne qui correspond à la concession, je cherchais le nom que tu avais recopié sur deux lignes. Donc je concaténais ces deux lignes pour comparaison. Sauf que pour certaines concessions, tu as enlevé le "-" et les espaces, du coup, ça ne peut pas marcher.
    Il faut soit que tu modifies un peu pour qu'on retrouve exactement les concessions qui sont présentes dans la feuille concession, soit que tu travailles avec des Id pour diminuer le risque d'erreur.
    « Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell

  14. #14
    Membre à l'essai
    Homme Profil pro
    Technicien auto
    Inscrit en
    Novembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien auto

    Informations forums :
    Inscription : Novembre 2011
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Re bonjour tout le monde. Depuis le temps, je regarde le code et j'arrive maintenant à tout comprendre.

    Merci encore. Le programme fonctionne parfaitement maintenant.

    J'ai une dernière question, j'ai des projets (pour le perso cette fois) qui ont quasiment la même architecture que celui là. C'est à dire une base de donnée, des fenêtres de recherches avec des labels, des listes, des cases....

    Je voulais savoir si il y'a une autres façon hors excel pour faire ce genre de programme. Afin de l'exporter avec un .exe par exemple ou pour ne plus dépendre d'office mais qui resterais avec la même simplicité que le vba. Je pensait à access mais je ne sais pas.

    Merci de vos réponses.



    Cdlmnt Sébastien

    PS : J'ai mis en pièce jointe la dernière version du "prog".
    Fichiers attachés Fichiers attachés

  15. #15
    Membre à l'essai
    Homme Profil pro
    Technicien auto
    Inscrit en
    Novembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien auto

    Informations forums :
    Inscription : Novembre 2011
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    bonjour,

    petite rectification, en faite je voulais pas dire access mais visual studio.





    cdlmnt

  16. #16
    Membre chevronné Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Points : 2 131
    Points
    2 131
    Par défaut
    Si tu commences à comprendre le VBA, le plus facile sera sans doute de faire du VB.Net, même s'il y a pas mal de différences. Ou alors tu fais du C#, ça ressemble moins donc ce sera moins immédiat de t'y mettre mais au moins tu ne confondras pas les deux (Pour ma part, c'est ce que j'ai fait, je m’emmêlais un peu les pinceaux parfois à force de passer de VBA à VB.Net et inversement).

    Pour cela effectivement, tu as Visual Studio, surtout que la version Express est gratuite.
    J'utilise SharpDevelop qui est pas mal aussi, mais c'est surtout parce que je l'ai en version portable et que je peux donc l'utiliser au boulot sur mon poste qui est complètement bloqué (on ne peut rien installer).

    Pour t'initier au VB.Net, le cours de P. Lasserre évoqué au début de cette discussion est vraiment top. Je n'ai pas trouvé de cours de C# aussi complet et didactique, mais il y a de bons bouquins.

    Tu pourras faire des ".exe" qui tourneront sur tous les PC avec le .Net Framework installé.
    « Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell

  17. #17
    Membre à l'essai
    Homme Profil pro
    Technicien auto
    Inscrit en
    Novembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien auto

    Informations forums :
    Inscription : Novembre 2011
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Bonjour, merci pour cette réponse. Je voulais savoir si il y'avait une différence entre le langage VB et VB.net car dans les cours, il y'a les deux.

    J'ai parcouru plusieurs tutoriaux sur les deux et sur le C#, comme dit, mais je ne trouve pas comment appeler des infos d'une base de donnée. Comme dans le projet fait précédemment, où ont se servais de la feuil excel "liste outil" pour rechercher un outil et prendre les infos de la ligne du numéro correspondant pour les retranscrirent. Je voulais donc juste savoir où et avec quel moyen je doit créer ma base donnée et quel doit etre sont extension.

    Cdlmnt Sébastien

    Merci..

  18. #18
    Membre chevronné Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Points : 2 131
    Points
    2 131
    Par défaut
    Pour VB et VB.Net, la syntaxe se ressemble beaucoup, mais il y a quand même pas mal de différences. VB et VBA, on peut dire que c'est pareil, sauf que VBA est à chaque fois légèrement adapté à l'outil dans lequel il est utilisé (tu n'auras pas de Worksheets, Range... en VB standard).
    VB.Net est plus évolué. Il profite de toutes les classe du .Net Framwork. Il est plus orienté objet. Visual Studio.Net sera sans doute plus agréable à utiliser une fois que tu maitriseras le langage.
    Après, si tu veux reprendre ton code sans trop le modifier, autant se lancer dans un projet VB6, à toi de voir.

    Pour ce qui est de l'accès aux données, il y a des tonnes de manières de le faire. Tu aurais pu prendre une base Access, à laquelle ton programme peux accéder même si office n'est pas installé sur la machine. Ou une base SQLite par exemple. Ou vu que la structure de tes données n'est pas très compliquée, tout simplement un fichier texte avec les données séparées par des ; ou des tabulations. Ou encore un fichier XML.

    Pour un débutant, peut-être qu'Access est le plus simple, je ne sais pas.
    « Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell

  19. #19
    Membre à l'essai
    Homme Profil pro
    Technicien auto
    Inscrit en
    Novembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien auto

    Informations forums :
    Inscription : Novembre 2011
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Bonjour,

    Donc je vais partir sur une base de donnée access en .mbd puis je pourrais travailler avec dans Visual Studio pour à la fin tout compilé en .exe.

    Est ce que cela est cohérent ?

    Et je potasse donc le VB.net, le VB6 et C# pour ensuite continuer avec le plus simple que je penserais pour moi.

    Cdlmnt.

  20. #20
    Membre à l'essai
    Homme Profil pro
    Technicien auto
    Inscrit en
    Novembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien auto

    Informations forums :
    Inscription : Novembre 2011
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Je vient de parcourir vite fait le chapitre des bases de données de Philippe Lasserre avec le "protocol" ADO.net et sont excellent cours me semble très clair. Je vais donc me lancé sur ses exemples avec une base de donnée en access .mdb et ADO.net


    cdlmnt

Discussions similaires

  1. créer un moteur de recherche excel
    Par bastos77 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 21/06/2011, 16h39
  2. Exemple création feuille Excel avec mise en page
    Par celiaaa dans le forum VBA Access
    Réponses: 1
    Dernier message: 09/07/2007, 12h30
  3. Création fichier excel retourné dans le navigateur
    Par progamer54 dans le forum JSF
    Réponses: 4
    Dernier message: 27/03/2007, 11h50
  4. [VBA-E]Création fichier EXCEL et détection cellule vide
    Par benoue dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 24/02/2006, 17h22
  5. création graphique excel à partir VB6
    Par getea85 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 06/10/2005, 14h59

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