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 :

urgent projet vba


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2017
    Messages : 2
    Points : 3
    Points
    3
    Par défaut urgent projet vba
    Bonjour

    voilà j'ai un projet d'application excel sur vba à faire et je n'y arrive pas...
    Mon problème est que j'ai besoin de faire un tableau dans une combobox. Suivant le choix de la combobox1 faire apparaître différents tableaux dans
    la combobox 2 . Voici le code je ne comprend pas pourquoi cela fonctionne pas.

    Merci infiniment.

    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
    Private Sub UserForm1_Initialize()
     
    Dim i As Integer
    i = 1
    If ComboBox1 = "Ensemble 1" Then
     
    ComboBox2.AddItem Worksheets("Feuil5").Cells(i, 2) <> ""
    Else
    ComboBox2.Value = ""
    If ComboBox1 = "Ensemble 2" Then
    ComboBox2.AddItem Worksheets("Feuil5").Cells(i, 4) <> ""
    Else
    ComboBox2.Value = ""
    If ComboBox1 = "Ensemble 3" Then
    ComboBox2.AddItem Worksheets("Feuil5").Cells(i, 6) <> ""
    Else
    ComboBox2.Value = ""
    End If
    End If
    End If
     
    i = 1 + i
     
     
    Do While Worksheets("Feuil5").Cells(i, 1) <> ""
    ComboBox1.AddItem Worksheets("Feuil5").calls(i, 1)
    i = i + 1
     
    Loop
     
    End Sub
     
    Private Sub CommandButton1_Click()
    UserForm1.Hide
     
    MsgBox "êtes vous sur?", vbYesNo, "?"
    ComboBox1.Value = ""
    ComboBox2.Value = ""
     
    If vbNo Then
    UserForm1.Show
    ComboBox1.Value = ""
    ComboBox2.Value = ""
    Else
     
    End If
     
    End Sub
     
    Private Sub CommandButton2_Click()
    UserForm1.Hide
    Form1.Show
     
    End Sub

  2. #2
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 924
    Points
    55 924
    Billets dans le blog
    131
    Par défaut
    Salut.

    "Urgent" n'est pas l'approche idéale, surtout lorsque l'on est étudiant (et qu'on s'y est pris trop tard...) ...
    Ne pas dire ce qui ne fonctionne pas dans le code n'est pas mieux.

    Cela étant, quelques pistes:
    • découpe ton code en petits morceaux (fonctions) qui n'ont qu'une seule responsabilité;
    • mettre le code applicatif sur l'événement d'un bouton est rarement une bonne idée;
    • a priori, un userform est là pour saisir des données et les transmettre au code appelant, pas pour réaliser du code applicatif;
    • ...



    Bon travail et bon courage (et aussi bonne chance, cas si c'est pour lundi, avec un we pareil côté météo, l'activité sera réduite sur nos forums, je le crains... )
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2017
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    bonsoir

    c'est vrais que pour le mot urgent est très mal choisi. désolé

    En fait ça fait depuis quelques semaines que je suis dessus et je désespère un peu ^^'. cela m'aide pas du tout
    es ce que vous pourriez être un peu plus précis si vous plait ?

  4. #4
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour

    As-tu au moins eu la curiosité de voir quelle type de valeur pouvait retourner une expression du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Feuil5").Cells(i, 4) <> ""
    ?
    Tu devrais .
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Développeur Full Stack
    Inscrit en
    Janvier 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Développeur Full Stack
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 26
    Points : 37
    Points
    37
    Par défaut
    Si ça devrait marcher....alors...breakpoints...breakpoints...et débuggage

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