Gestion d'onglets

Coucou...

Si je post ici vous vous en doutez c'est que je sèche... mais je sais que c'est des erreurs stupides le problème c'est que je ne vois pas comment faire...

Je n'arrive pas à :

Trier mes onglets par ordre alphabétiques a partir de l'onglet n°3 (mes onglets 1, 2 et 3 sont fixes, le tri dois se faire du n°4 jusqu'à n°x). Le tout dans une macro activable par bouton

Intégrer dans un userform une liste des onglets (n°4 à n°x donc). Quand on sélectionne l'onglet dans l'userform et qu'on valide, ça nous select cet onglet en question.

edit : j'ai oublié un truc : quand je rempli une cellule via mon userform il me le rempli en tant que texte et non en tant que valeur je ne peux donc pas faire de calculs dessus. Une solution svp?

Merci

Merci de vos réponses

Cordialement

Bonjour

Un essai. Te convient-il ?

38onglets.zip (27.92 Ko)

Nikel, franchement merci ^^

Une solution pour

"quand je rempli une cellule via mon userform il me le rempli en tant que texte et non en tant que valeur je ne peux donc pas faire de calculs dessus."

merci encore

Bonjour

Atro a écrit :

"quand je rempli une cellule via mon userform il me le rempli en tant que texte et non en tant que valeur je ne peux donc pas faire de calculs dessus."

Pour cela, il faudrait que tu joignes le fichier, même simplifié, pourvu qu'il reproduise cette anomalie.

A te lire

C'est un fichier pro rempli de données ^^

Je vais essayer de reproduire pile la partie nécessaire

Désolé, arret maladie inside

Je dois mettre des montants dans ma textbox1 et 2

Une fois que j'ai validé mon userform, je fais :

Range("I19") = Me.TextBox1

Range("I20") = Me.TextBox2

et sur a feuille ou sont inscrites mes données j'ai une pauvre formule de somme

SAUF QUE

Une fois mon userform validé, la somme est à 0

Je dois me mettre sur le montant, le réécrire et la ma formule somme la détecte enfin.

Donc je suppose que Range("I20") = Me.TextBox2 doit recopier la valeur en tant que texte et non en tant que valeur.

Une solution?

bonjour,

Comme leur nom l'indique les Textbox sont des boites à texte...

A toi de faire ce que tu veux du contenu :

Range("I19") = CInt(Me.TextBox1)

Range("J20") = CLng(Me.TextBox2)

Range("K21") = CDate(Me.TextBox3)

A+

Je modifie tout mes usf et je vous tiens au courant. Merci en tout cas

Ca à marché une fois. La seconde ça m'a mis "incompatibilité de type"

Range("I19") = CInt(Me.TextBox40)

Je ne comprend pas l'erreur la

Une solution?

Merci

EDIT : je crois avoir compris : j'ai écrit 3552.12 au lieu de 3552,12.

Il y a un moyen pour que les montants avec virgule ET point marchent ? je pense que ça réglerai tout mes soucis

Bonjour,

Pour chaque TextBox censé recevoir des nombres avec virgule mettre un évènement :

Private Sub TextBox1_Change()

TextBox1 = Replace(TextBox1, ".", ",")

End Sub

Remarque : CInt ne convient pas pour les nombres avec virgule

il faut utiliser CDec ou CDbl

A+

A priori avec les 2 tests que j'ai fais ça fonctionne

merci

Donc en fait me faut un controle de type :

Si l'onglet 0 est actif le label 1 affiche un texte, si l'onglet 1 est active le label 1 est vide et le label 2 (qui superposera le label 1 uand on créé l'usf) affiche un texte

Donc juste le code pour :

Si la feuille 1 est active alors x

Rechercher des sujets similaires à "gestion onglets"