2 problèmes FORMULAIRE

Bonjour,

Je rencontre deux petits soucis dans mon formulaire. Pour faire plus simple, j'ai expliqué mes 2 problèmes dans le fichier directement, dans l'onglet "explications".

En espérant qu'il y a une solution.

C-joint mon fichier.

Merci.

Cordialement,

Bonjour

Ci dessous le code à modifier

Private Sub UserForm_Initialize()
Dim i As Byte
ListBoxDomaine.Clear
For i = 1 To 7
    ListBoxDomaine.AddItem "domaine" & i
Next
For i = 1 To 10
    ListBoxCatégorie.AddItem "catégorie" & i
Next
End sub

Et le code à ajouter

Private Sub ListBoxCatégorie_Click()
Dim i As Byte
For i = 1 To 3
ListBoxSouscatégorie.AddItem "souscatégorie" & Right(ListBoxCatégorie.Value, Len(ListBoxCatégorie.Value) - 9) & i
Next
End Sub

Cordialement

Bonjour,

Je t'ai résolu le problème des combo.

Je ne me suis pas intéressé au 2ème problème considérant que ce n'est pas un type de construction à développer : Il y a suffisamment de systèmes de tri et de filtrage dans Excel pour ne pas chercher à réinventer la roue...

Votre BD doit rester une BD quitte à la filtrer en sortie de formulaire.

Nota : Sur un projet de ce genre il y a urgence à apprendre à se servir de la fonction DECALER pour définir les noms de plage...

A+

27nossila-vg.xlsm (57.95 Ko)

Re, bonjour Galopin,

C est a moi que tu ecris ou au demandeur ?

Crdlt

Salut Dan,

Pas vu... Bah ! Nossila fera le tri... Il vaut mieux 2 réponses différentes que pas de réponses du tout !

A+

Bonjour Galopin et Dan,

Merci pour vos réponses.

Concernant mon 2ème problème:

@Dan: Je ne comprends pas bien ton code pour mon deuxième problème, peux tu me donner l'exemple dans mon fichier si possible?

@Galopin: Peux tu m'expliquer comment faire avec la fonction DECALER? Je ne vois pas du tout...

Merci encore!

Bon ap'

re

@Dan: Je ne comprends pas bien ton code pour mon deuxième problème, peux tu me donner l'exemple dans mon fichier si possible?

Le code que je t'ai donné concerne ton 1er problème. je n'ai pas encore regardé le deuxième

Crdlt

Re bonjour,

J'ai besoin d'un coup de main pour on fichier.

Les données enregistrées avec le formulaire s'enregistrent en ligne 4 de mon fichier excel, je souhaiterais que ces données qui s'enregistrent en ligne 4, soient transférées (couper coller) sous le bon domaine. Je pensais à une une macro qui détermine ce qu'il y a en cellule A4 et en fonction de ce qu'il y a en A4 (domaine 01 / domaine 02...), renvoie directement sous le bon domaine au fur et à mesure des enregistrements

Quelqu'un à une idée?

Merci pour votre aide!

Re

Je t'ai donné deux codes dans ma réponse et il ne sont pas dans ton fichier. Ce qui me laisse à penser que tu as posté un autre fichier ou que tu suis une autre manière de faire

Ce serait bien de continuer avec le fichier contenant les solutions déjà apportées. Le cas contraire on ne va pas s'y retrouver

Crdlt

Bonjour Dan,

Oui effectivement j'ai repris mon fichier vierge vu que vous m'aviez apporté une solution à mon premier problème. dsl

Ci-joint mon fichier avec la solution du premier problème.

Merci

Re

Contrairement à que tu expliques dans ta demande, le fichier posté ne permet pas d'enregistrer des données en ligne 4. L'action sur le bouton Enregistrer provoque un bug. Quoi de plus normal puisque les Listbox sont nommées différemment

Ce qu'il faut donc savoir c'est ce que doit contenir la ligne au niveau des xx (domaine1, catégorie1 ??...)

En colonne A il serait plus simple de nommer "Domaine1" (ou "Domaine01") au lieu de "01_Domaine"

Possible à faire cela ?

Crdlt

Re,

J'ai mis à jour mon fichier. J'ai retravaillé dessus.

Merci pour ton aide.

Cordialement,


Pour que ce soit plus simple, je pense qu'il vaut mieux que les données s’enregistrent directement sous les différents domaines. Plutôt que de faire l'enregistrement en ligne 4 puis le transfert vers le bon domaine.

Re,

Cela devient difficile à suivre...

Le code que je t'avais proposé à disparu et ce nouveau fichier me fait penser que tu travailles avec un autre forum ou en privé

Désolé..

Crdlt

^^ on va pas s'en sortir. Excuse moi...

En fait, j'ai finalement opté pour le code de Galopin que je trouvais plus simple à l'utilisation ensuite de mon formulaire. Mais c'est tout. Je ne travaille ni en privé ni avec un autre forum sur ce projet la.

Re

Ton fichier en retour à tester

Attention à ne pas mettre du blanc sur toute ta feuille comme tu l'as fait. Cela alourdit le fichier inutilement.

Pour éviter de voir le quadrillage, il faut utiliser les options d'excel qui te permettent de supprimer le quadrillage

Crdlt

Salut Dan!

Merci pour ta méthode, elle fonctionne bien mais par contre quand je veux ajouter les liens hypertextes, ceux-ci ne se rangent pas au bon endroit. J'ai mis un exemple dans le fichier ci-joint sans mettre un vrai lien mais juste pour te montrer le problème. Je te conseille de faire le test par toi même car c'est compliqué à expliquer par écrit et ça risque d’être incompréhensible.

Aussi, est ce qu'il y a un moyen pour que le calcul des données se fasse plus rapidement? Car entre le moment où 'on clique sur le bouton du formulaire pour lancer l'enregistrement dans mon fichier et la fin de l'enregistrement complet dans le bon domaine, il se passe un certain temps assez long.

Merci.

Bonne journée!

Re,

quand je veux ajouter les liens hypertextes, ceux-ci ne se rangent pas au bon endroit.

Pour moi dans le code les liens n'apparaissent pas puisque cela vient de la textbox lien audio et lien dossier. Non ?

Si oui, Il faudrait modifier les deux lignes comme suit :

.Range("O" & lgn).Hyperlinks.Add Anchor:=Selection, Address:=TextBoxLienaudio
.Range("P" & lgn).Hyperlinks.Add Anchor:=Selection, Address:=TextBoxLiendossier

Et juste avant tous les codes dans l'USF, mettre

Dim TextBoxLienaudio, TextBoxLiendossier

Donc bien mettre juste au dessus de Private Sub CmdAnnuler_Click()

Crdlt

Bonjour Dan,

Merci pour ton retour.

J'ai suivi ta démarche et voila qu'un message d'erreur s'affiche:

Je comprends pas le message d'erreur...

Re

Oups déso... j'avais laissé trainer cela sans revivifier...

Modifie comme ceci :

  • Supprimer le Dim TextBoxLienaudio, TextBoxLiendossier en entête
  • Modifier la fin de la macro comme ceci
...
     .Range("Q" & lgn).Value = Me.ComboBoxMusique
     .Range("A" & lgn & ":Q" & lgn).Interior.ColorIndex = -4142
     .Range("A" & lgn & ":Q" & lgn).Font.ColorIndex = xlAutomatic
     .Range("O" & lgn).Hyperlinks.Add Anchor:=.Range("O" & lgn), Address:=TextBoxLienaudio
     .Range("P" & lgn).Hyperlinks.Add Anchor:=.Range("P" & lgn), Address:=TextBoxLiendossier
    Unload UsfAjouter_message
  End With
....

Crdlt

Bonjour Dan,

C'est parfait, ça fonctionne parfaitement bien!

Merci beaucoup pour ton aide sur ce deuxième problème.

Je te souhaite une bonne journée!

A bientôt!

Rechercher des sujets similaires à "problemes formulaire"