Comment affectuer une variable

Bonjour, à tous
comment affecter une variable à la selection d'un combobox1 dans une useforme1, quel sont les lignes de commande que je doit frapper pour prog vba avec excel ?
merci de bien vouloir me repondre car je suis un debutant en prog vba.
Configuration: Windows XP
Internet Explorer 6.0

9 réponses

  1. Contributeur
    1°) sheets ("feuil1").select
    2°) MyDate = format(Date,"dd/mm/yyyy")
    Maintenant vais souper...
    -1
    1. salut lermit222
      merci pour ton aide.

      je voudrais te connaitre, a tu une adresse msn pour faire du visio ou une adresse perso?

      moi,je suis de perpignan dans les P.O et toi?

      je suis fonctionnaire et je n'est pas le droit de faire une formation de v.b.a car je suis de categorie c et pas informaticien.

      est tu informaticien ?

      j'ais achete vba pour excel 2003 de John Walkenbach tres tres tres bien, mais pas beaucoup exemples.
      Connais tu un site ou il y a plein exemple de prog vba pour excel,pour evitez des questions simple comme la derniere fois?

      merci ....salut et a+
      -1
  2. salut lermite 222

    grace a toi je progresse dans mon prog.
    maintemant, j'ais besoin de savoir 3 reponces.

    1)
    comment actver une feuille precise dans mon prog vba?
    car il y a plusieurs feuilles de travail et la useforme1 travaille avec la feuille 1,la useforme 2 travaille avec la feuille 2 etc.....

    donc voila ce que j'ai fait
    jais mis dans le prog useform1 les expressions suivantes

    worksheets ("feuil1") ou sheets ("feuil1") reponse utilisation incorrecte de la propriété

    activesheets.name = "Feuil1" reponse erreur d'execution 424 objet requis

    2)comment mettre la date de la forme jour/mois/ans ?

    donc voila ce que j'ai fait
    textbox2.value = date
    donc textbox2 affiche jour/mois/ans...... impec....... mais au moment de la mettre dans les cellules cela devient mois/jour/ans alors que le format des celules est jours/mois/ans.
    donc jais mis

    textbox2.value = date (dd,mm,yy) comme sur le livre, mais erreur

    3)comment afficher le resultat d'une somme d'une colonne dans une textbox sans chager la formule de la cellule?

    j'ais fait
    contolesource= compcommunes dans la propriete de la textbox cela fonctionne 2 fois puis cela me chage la formule.
    ha... oui!!! (compcommunes) est le nom donnr a la cellule ou il y a la formule dans une feuille4
    mon but comme tu la compris
    et le selectionner une commune puis une personne puis etc..
    puis quand je click sur ok toute les donnees se mettent dans une feuille1 excel avec un tableau

    la cellule a2=1 la cellule b2 = la date la cellule c2 =la commun la cellule d2 = la personne etc.....
    je click sur ok

    les valeurs ce mettent a la ligne en dessous etc...

    niquel

    donc, la cellule (compcommunes) comporte la formule =somme(feuil1!a2:a65535)qui est dans une feuill4

    donc comment afficher le resultat d'une somme d'une colonne dans une textbox sans chager la formule de la cellule?ou y a t il un prog pour compter toute les lignes remplis?

    la est la question....................

    Merci a toi pour ton aide
    -1
    1. salut lermite 2222

      tu est genial !!!!!!.....ca fonctionne,mais voila j'ais encore besoin de ton aide.

      donc ,tu ma mis sur le bon chemin en me donnant le programme de la façon select case mais voila les variables sont du types integer l'orsque je lui demande de minscrire la valeurs de mes variables dans une cellule in m'inscrit la valeur des case 0,1,2,etc..... selon la selection .
      cela est logique en reguardant le progr mais moi je veux le village selectionner et la personne pas les valeurs numerique les variables.
      donc comment faire ?
      j'ais voulus changer les declarations de mes variables mais il me donne a chaque fois des erreurs.

      donc,voici la pro que je frappe:

      private sub commandbouton2_click()'bouton ok dans la useform1
      dim LIGNESUIVANTE as long
      c = combobox1.listindex
      s = combobox2.listindex
      do
      LIGNESUIVANTE = Range("A65536").end(xlup).row +1

      Cells(LIGNESUIVANTE,3)=c
      Cells(LIGNESUIVANTE,4)=s

      if c= 0 then msgbox("selectionnez le village")
      exit sub
      if s = 0 then msgbox ("selectionnez la personne")
      exit sub
      loop
      end sub

      voila, peu tu me dire mon erreur merci.
      a+
      -1
      1. merci!!!!...... lermite222
        je vais faire un éssais.

        a++
        -1
        1. Contributeur
          Je crois que j'ai compris, essaye...

          Dim InitP As Boolean 'Pour éviter que les fonctions ne soient
          'appelées à l'initialisation.
          Dim c As Integer 'Mettre ici pour être visible dans combo2
          
          Private Sub combobox1_click()
              If InitP Then Exit Sub
              c = combobox1.ListIndex
              InitP = true
              combobox2.Clear 'Vide le comboBox2
              Select Case c
              Case 0 ' Village A
                  combobox2.AddItem "personne A1"
                  combobox2.AddItem "personne A2"
                  combobox2.AddItem "personne A3"
              Case 1 ' Village B
                  combobox2.AddItem "personne B1"
                  combobox2.AddItem "personne B2"
                  combobox2.AddItem "personne B3"
              Case 2 'Village C etc....
              End Select
              
              combobox2.ListIndex = 0
              InitP = False
          End Sub
          
          Private Sub combobox2_click()
          Dim s As Integer
              If InitP Then Exit Sub
              s = combobox2.ListIndex
              'Ici faire le traitement
              Select Case c
              Case 0
                  Select Case s
                  Case 0 '"Village A" > personne A1
                  Case 1 '"Village A" > personne A2
                  Case 2 '"Village A" > personne A3
                  End Select
              Case 1
                  Select Case s
                  Case 0 '"Village B" > personne B1
                  Case 1 '"Village B" > personne B2
                  Case 2 '"Village B" > personne B3
              End Select
          End Sub
          
          Private Sub InitialiseCombo()
              InitP = True
              combobox1.AddItem "Village A"
              combobox1.AddItem "Village B"
              combobox1.AddItem "Village C"
              combobox1.ListIndex = 0 'sinon les combo semble vide
              
              combobox2.AddItem "personne A1"
              combobox2.AddItem "personne A2"
              combobox2.AddItem "personne A3"
              combobox21.ListIndex = 0
              InitP = False
          End Sub
          


          Tu dit...
          A+

          -1
          1. salut lermite222.

            j'ais suivi tes instructions est cela ne fonctionne pas .Car les combobox n'affiche aucun choix de selection.Donc j'ais refait le prog dans ce style:

            dim c as string * 20
            dim s as string * 20

            public sub combobox1_click()
            c = combobox1.value
            end sub

            public sub combobox2_click()
            if c ="village A" then
            combobox2.additem "Personne A1"
            combobox2.additem "Personne A2"
            end if

            if c ="village B" then
            combobox2.additem "Personne B1"
            combobox2.additem "Personne B2"
            combobox2.additem "Personne B3"
            end if

            if c ="village c" then
            combobox2.additem "Personne C1"
            end if
            if c ="village D" etc.........

            end if

            s = combobox2.value
            end sub

            public sub userform_initialize()

            combobox1.additem"village A"
            combobox1.additem"village B"
            combobox1.additem"village C"
            combobox1.additem"village D"
            ETC.......
            end sub

            donc dans ce cas le combobox1 affiche bien les villages,la varible c prend bien la valeur du village selectionnez mais le combobox2 ne m'affiche aucune personne.
            donc je deduit que la variable c n'est pas pris en compte dans la partie public sub combobox2_click()J'ais essaye de mettre les instructions,

            if c ="village A" then
            combobox2.additem "Personne A1"
            combobox2.additem "Personne A2"
            end if

            if c ="village B" then
            combobox2.additem "Personne B1"
            combobox2.additem "Personne B2"
            combobox2.additem "Personne B3"
            end if

            if c ="village c" then
            combobox2.additem "Personne C1"
            end if
            if c ="village D" etc.........

            end if

            a la suite des instructions de public sub userform_initialize()
            même résultat

            De les mettres dans la déclarations general
            même résultat

            de les mettres dans public sub combobox2_change()
            même résultat

            merci de bien vouloir me dire comment la valeur de la variable c peut être utilisez ou appelez dans les instructions (if c="village A" then etc.......
            car je ne vois plus de solution.

            je compte sur vous

            merci... beaucoup........a+
            -1
        2. Salut! Et merci pour ton aide

          J’ai déjà frappé ces ligne de commande, mais rien ne ce passe, je croix que je dois te donner plus d'info.
          Voila, le but de la prg avec vba pour Excel est de remplir un tableau grâce a un useforme avec plusieurs combobox par exemple:

          combobox1 = les villages de ma région et combobox 2 =des personnes vivant dans le village sélectionner dans la combobox1 etc....

          Donc j'ais choisi de faire cela avec des variables sans inscrire pour l'instant le résultat des sélections dans les cellules de mon tableau.
          Problème si je sélection dans la combobox1 le village A le combobox2 me donne aucune sélection possible ou me donne toute les personnes de tout les villages.
          Alors que mes lignes de commandes sont celle-ci:

          private sub combobox1_click()
          dim c as integer
          c=combobox1.listindex
          end sub

          private sub combobox2_click()
          dim s as integer
          s=combobox2.listindex

          if c = village A then
          combobox2.additem "personne A1"
          end if

          if c = village B then
          combobox2.additem "personne B1"
          combobox2.additem "personne B2"
          combobox2.additem "personne B3"
          end if

          end sub

          Donc voila le pb je suis débutant.
          Et mes lignes de commandes me paréssent logiques.

          Et encore une fois merci de toute votre aide.
          A+
          -1
          1. Contributeur
            Bonjour,
            pour connaître la slection d'un combobox1, dans l'événement Clic du combobox1 mettre...

            Private Sub ComboBox1_Click()
            dim e as integer
                e = ComboBox1.ListIndex
            End Sub

            A+
            -1