Pour Theze

Bonjour

sous Excel 2003

...un peu une bouteille à la mer pour Theze qui m'a fourni un exemple que je n'arrive pas à faire fonctionner...

(Région pourtant inscrit dans Rowsource n'est pas reconnu)

si d'autres veulent l'aider , je suis preneur...

merci

8theze.zip (11.87 Ko)

Bonjour

Pour te dépanner en attendant que Theze intervienne.

Pour le reste, vois avec lui...

Bye !

7theze-v1.zip (16.43 Ko)

Bonjour,

Voici ton fichier en retour mais je l'ai modifié en transformant ta colonne en tableau Excel (ListObject).

Voici le code (voir les commentaires dans le code !) :

Private Sub UserForm_Activate()

    Dim Tbl As ListObject

    'utilise un tableau Excel nommé "Région"
    Set Tbl = Worksheets("Feuil1").ListObjects("Région")

    'ComboBox1 a été renommé en "Region" (sans accent de préférence !)
    Region.RowSource = Tbl.DataBodyRange.Address

End Sub

Private Sub CommandButton1_Click()

     Worksheets("Feuil1").Range("C1").Value = Region.Text

End Sub

Private Sub Region_Exit(ByVal Cancel As MSForms.ReturnBoolean)

    Dim Plage As Range
    Dim cel As Range
    Dim Tbl As ListObject

    'utilise un tableau Excel nommé "Région"
    Set Tbl = Worksheets("Feuil1").ListObjects("Région")
    Set Plage = Tbl.DataBodyRange

    'recherche si la valeur entrée existe dans la liste, si elle existe, fin
    Set cel = Plage.Find(Region.Text, , xlValues, xlWhole)
    If Not cel Is Nothing Then Exit Sub

    'ajoute une ligne...
    Tbl.ListRows.Add

    'le fait d'inscrire une valeur juste sous le tableau l'incorpore
    'd'office dans ce dernier et donc, il se redimensionne automatiquement
    'mais je préfère ajouter la ligne au tableau de façon explicite !

    'et inscrit la valeur au tableau !
    Tbl.DataBodyRange(Tbl.ListRows.Count, 1).Value = Region.Text

    'et recharge le ComboBox
    Region.RowSource = Tbl.DataBodyRange.Address

End Sub

et le fichier :

8theze.zip (14.48 Ko)

Merci de t'intéresser à mon problème

.. lorsque je saisie une donnée nouvelle et que je valide par commandButton, une fenêtre s'ouvre et m'indique "Erreur d'exécution 70 accès "refusé"

Un débogage demandé surligne en jaune " Me.Combobox1.Additem cel.Value" dans la procédue Combobox1_exit

" For Each cel In Plage: Me.ComboBox1.AddItem cel.Value: Next cel

...quelle peut en être la cause ?

Autre question :Quel est l'ordre de réalisation des procédures ?

- la première à être traitée est Userform_Activate, ensuite Combobo1_Exit et CommandButton_Click, je suppose....

(Désolé de t'ennuyer avec ça mais j'ai du mal à comprendre le processus de ComboBox et les recherches sur les différents sites relatent les principes généraux sans réellement expliquer le détail...)

Ne tiens pas compte de la première partie de ma question précédente...je me suis planté en recopiant....

Bonjour

peux être plus simple

5theze.zip (12.48 Ko)

A+

Maurice

Bonjour Maurice,

Il ne faut pas seulement reporter la valeur du ComboBox mais si elle n'existe pas il faut la rajouter à la feuille (c'est pour ça que je suis parti sur un tableau par la suite) et ensuite l'inclure dans la liste du ComboBox !

Ne tiens pas compte de la première partie de ma question précédente...je me suis planté en recopiant....

Il te faut télécharger le nouveau fichier que j'ai posté car il contient le tableau appelé "Région"

Je viens de relancer Theze V1.xls .... malheureusement , je confirme l'erreur...

La sélection d'une région se fait sans problème mais la saisie d'une autre donnée , dés que validée par commandButton et inscrite à la suite des autres, une fenêtre s'ouvre et m'indique "Erreur d'exécution 70 accès refusé" ...

Un débogage demandé surligne en jaune "Me.Combobox1.Additem cel.Value" dans la ligne : For Each cel In Plage: Me.ComboBox1.AddItem cel.Value: Next cel dans la procédure Combobox1_exit

Si prés du but, c'est dommage , quelle peut en être la cause ?

.... j'ai supprimé la ligne "For Each cel In Plage: Me.ComboBox1.AddItem cel.Value: Next cel"......

ça marche !!!..sans autre inconvénient...

je vous remercie beaucoup de votre patience...encore beaucoup à apprendre et surtout à comprendre...

Là, j'arrête;.... je sature....

Un bon dimanche pour tous

Re,

Je viens de relancer Theze V1.xls .... malheureusement , je confirme l'erreur...

Décidément !

dans mon précédant message j'ai dis :

Voici le code (voir les commentaires dans le code !) :

et en dessous du code, j'ai dis :

et le fichier :

et le fichier que j'ai posté s'appelle "Theze.xls" et non "Theze V1.xls" car par rapport au fichier d'origine (dans l'autre post) je n'utilisais pas "RowSource" car avec cette propriété tu ne peux pas ajouter de valeur au ComboBox, il faut l'ajouter à la liste sur la feuille et ensuite, redéfinir RowSource !

Télécharge le fichier ci-dessous et testes :

10theze.zip (14.49 Ko)

Bonjour

il faut la base pour voir ou se trouve les région

comme sa on va pouvoir te faire une combobox évolutive

car la on voie rien

A+

Maurice

Bonsoir

voila un test de la combo région

A+

Maurice

4theze.zip (16.59 Ko)
Rechercher des sujets similaires à "theze"