Fonction VBA choix d'onglet en fonction d'un menu déroulant

Bonsoir

Une idée pour voir les cellules vides

Merci bien.

J'ai regardé ton code que j'ai tenté d'adapter. pour faire apparaitre sur une meme ligne toutes les cellules vides pour une data. Mais je n'ai pas réussi.

Je te mets une feuille excel en pièce jointe pour que tu comprennes mieux ("feuil1" qui montre ce que je voudrais pour le mois Jan11 dans l'état actuel de la feuille Jan11). Je n'arrive pas à trouver l'équivalent d'une fonction range pour trouver la première cellule vide su rune ligne et la remplir...

J'ai un autre problème, dans la combobox data, si deux data dans la liste proposée sont parfaitement identiques, alors il est impossible d'aller rentrer une valeur à travers le textbox "value" : elle se rentre dans la ligne correspondante à la première case ou apparaît la première data. J'ai mis un exemple dans l'onglet Jan11. Est-il possible de remédier à ça? J'ai chercher mais j'ai fortement séché.

Merci beaucoup


Une dernière question :

S'il existe des mots dans la colonne B de l'onglet Jan11 que je souhaite ne pas voir apparaître dans le menu déroulant du combobox "Data", comment dois-je procéder?

Désolé pour le harcèlement... Les joies du début sur vba

Bonjour

Avec le fichier cela aurait bien plus beaucoup énormément mieux

ngf1 a écrit :

S'il existe des mots dans la colonne B de l'onglet Jan11 que je souhaite ne pas voir apparaître dans le menu déroulant du combobox "Data", comment dois-je procéder?

Question déjà posée ==>Réponse déjà donnée

Bonjour,

Désolé, j'ai du mal joindre le fichier.

Et pour la dernière question effectivement... Je te prie de m'excuser

Tu trouveras dans la Feuil1 ce que j'aimerai voir apparaitre dans la feuille "cellules vides".

Bonjour

Alors je ne comprends pas tout

dans la feuilles "Cellules Vides" que pour les 3 premiers "data"

Et pour les a,b,c etc .... on ne marque rien ?

ngf1 a écrit :

Je n'arrive pas à trouver l'équivalent d'une fonction range pour trouver la première cellule vide su rune ligne et la remplir.

Il faut être plus explicite

Toute la colonne B il faut la mettre dans le combobox, il ne faut pas filtrer ?

A suivre

Re,

il faut effectivement que toutes les data (y compris a,b, etc...) apparaissent dans la feuille "cellules vides" si elles ont des cellules vides dans leur ligne correspondante .

Exemple : si pour le mois Jan11, pour "data1", les cellules correspondantes à France et Italy sont vides, alors je souhaiterai voir apparaitre :

data1, France, Italy en 3 colonnes sur la meme ligne.

En gros, comme ce que tu avais fait sauf que lorsque qu'il manque plusieurs data su rla même ligne dans l'onglet Jan11, je souhaite que les pays concernés apparaissent sur la même ligne et non l'un en dessous de l'autre.

Et ma deuxième question était comment faire lorsque dans un menu déroulant de combobox on a deux data identiques, le combobox les différencie. Ici, le problème actuel est :

-exemple : je sélectionne :

Combobox 1 : Jan11

Combobox2 : Germany

Combobox 3 : le dernier "b" du menu déroulant

Textbox 1 : 10

N'hésite pas à me demander des précisions si ça ne te suffit pas.

Alors, il me met 10 dans la colonne Germany mais dans la mauvaise ligne : la ligne du premier "b" .

D'après moi, ceci est dû à l'utilisation de la fonction Find dans Combobox 3. Mais je ne vois pas comment régler le problème.

EDIT :

Les trois dernières ligne de mon message ne sont pas dans l'ordre; Il faut lire :

Et ma deuxième question était comment faire lorsque dans un menu déroulant de combobox on a deux data identiques, le combobox les différencie. Ici, le problème actuel est :

-exemple : je sélectionne :

Combobox 1 : Jan11

Combobox2 : Germany

Combobox 3 : le dernier "b" du menu déroulant

Textbox 1 : 10

Alors, il me met 10 dans la colonne Germany mais dans la mauvaise ligne : la ligne du premier "b" .

D'après moi, ceci est dû à l'utilisation de la fonction Find dans Combobox 3. Mais je ne vois pas comment régler le problème.

N'hésite pas à me demander des précisions si ça ne te suffit pas.

Bonsoir

A tester

J'ai testé. Cela fonctionne très bien.

Je te remercie.

J'ai encore deux questions et ce sera fini pour ce modèle :

- j'ai un problème de format dans mon textbox1 "value" : les chiffres apparaissent sous la forme #########, or je souhaiterai qu'ils apparaissent sous la forme ### ### ###,###. Par exemple 1 000 000 000 apparait sous la forme 1 000 dans la cellule de la feuille correspondante (format excel dont j'ai besoin par ailleurs), il faudrait qu'il apparaissent sous la forme 1 000 000 000 dans le textbox1 et non pas 1000000000.

- deuxième problème assez similaire : le textbox1 "value ne prend pas en compte les chiffres à virgule du genre 16,23333333. II met une erreur 13 lorsque j'essaie de le modifier avec le textbox1.

Pour les deux choses j'ai essayé de mofider le code mais je n'ai pas réussi.

Merci d'avance. Ce sont normalement mes dernières questions concernant ce modèle. Je validerai ta réponse pour clore ce fil de discussion.

Bonjour

Pour la 1ère question voir le fichier

pour la 2ème question il faut expliquer comment arriver au message d'erreur

ngf1 a écrit :

- deuxième problème assez similaire : le textbox1 "value ne prend pas en compte les chiffres à virgule du genre 16,23333333. II met une erreur 13 lorsque j'essaie de le modifier avec le textbox1.

]Merci pour la première question, ça marche nickel. Est-il possible de le faire dans l'autre sens : au moment de la saisie dans textbox1 que l'utilisateur puisse bien voir le chiffre qu'il est en train de taper en séparé : s'il tape 1000000000 ça affiche automatiquement 1 000 000 000 pendant qu'il est en train de le taper?

Pour la seconde question :

Dans l'ordre dans le useform :

  • je choisi un mois
  • je choisis une data
  • je choisis un pays
alors, si j'entre un nombre du type 10,12 alors il met :

error 13 : type mismatch.

Je te l'ai mis en commentaire dans Private Sub ComboBox3_Change() (ligne 74 du code).

Bonjour

Problème de séparateur des nombres décimaux, moi j'ai le problème si je tapes un nombre avec un point

Remplaces la ligne en faute par celle-ci

.Cells(Lig, Col) = Val(Replace(TextBox1, ",", "."))

A vérifier

Rechercher des sujets similaires à "fonction vba choix onglet menu deroulant"