Userform spécial

lessa

XLDnaute Nouveau
Bonjour à tous, je consulte ce forum depuis déjà quelque temps et celui-ci m'a beaucoup aidé.

Cependant je me retrouve face à un problème qui m'oblige à m'adresser directement à vous.

Le problème le voici, je dois créer un userform qui va renseigner des cellules définies dont certaines avec des listes choix.

Exemple :
Les cellules B2, B6, B7 (liste de validation) et B10

L'userform doit donc remplir chacune de ces cellules.

Je sais pas si c'est très clair mais j'espère que vous pourrez m'apporter une réponse ou mieux me l'illustrer avec un exemple que vous possédez
 

TheLio

XLDnaute Accro
Re : Userform spécial

Hello,
Et bienvenue sur Xld, comme tu l'auras certainement constaté pendant tes consultations, le forum peut te servir comme d'une bible ou d'un atlas, pour y trouver des pistes et solutions via le moteur de recherche.
Par contre, peu de bénévoles oeuvrant ici ne te fourniront d'exemples tout cuits, prêts à consommer.
Par contre, si tu fourni un exemple de ton fichier et ce que tu aimerais y faire, les membres de ce forum t'aideront dans la mise en place de ton projet et te renseigneront au fur et à mesure de tes questions.
Avec mes meilleures salutations
Courage
A++
Lio
 

lessa

XLDnaute Nouveau
Re : Userform spécial

Re, et merci pour ta réponse, étant dans l'impossibilité de joindre le vrai fichier sur lequel je travail, j'ai réaliser un bref exemple, je tien à préciser que je n'ai encore jamais réaliser d'userform avant aujourd'hui et ça malgrès le temps que j'ai passé à essayer de comprendre leur fonctionnement sur ce forum.

Merci d'avance
 

Pièces jointes

  • userform spécial.xls
    18 KB · Affichages: 60

Gael

XLDnaute Barbatruc
Re : Userform spécial

Bonjour Lessa, bonjour Thelio,

Un exemple de code qui remplit quelques cellules avec des nombres, du texte ou une liste de validation (la liste s'appelle "Mois").

Tu peux l'adapter en sortie de USF en remplaçant les constantes par les valeurs de textbox ou changer le nom de la liste selon le choix fait dans l'USF.

Code:
Sub Test()
'
'
    Range("C2").FormulaR1C1 = "145"
    Range("D2").FormulaR1C1 = "Texte"
    Range("E2").Validation.Delete
    Range("E2").Validation.Add Type:=xlValidateList, Formula1:="=Mois"
    Range("F2").FormulaR1C1 = "6789"
    Range("G2").FormulaR1C1 = "Test donnée"
End Sub

@+

Gael
 

Dull

XLDnaute Barbatruc
Re : Userform spécial

Salut lessa et Bienvenu, le Forum

un exemple aurait-été le bienvenu
car les explications données ne sont pas explicites... cependant, et avec ce que j'ai compris teste ce fichier :).

Si c'est pas ce que tu recherche... Ligne2decepost...:eek:

Salut Thelio :), j'étais en train de faire le modéle quant le Cuistot passa :D

et comme dirait Robert:) (Tuverraislagueuledel'exemple....)

Bonne Journée

EDITION: Salut Gaël Ami des Lointaines Iles :)
 

Pièces jointes

  • Lessa.zip
    12.7 KB · Affichages: 45
  • Lessa.zip
    12.7 KB · Affichages: 43
  • Lessa.zip
    12.7 KB · Affichages: 46

lessa

XLDnaute Nouveau
Re : Userform spécial

Rebonjour à tous,

J'ai réussi à comprendre le fonctionnement et même à le reproduire dans un autre classeur, seulement quand j'ai tenté de le faire sur mon projet, j'ai eu un probleme qui est le suivant :

Erreur de compilation:

Nom ambigu détecté : CommandButton2_Click

j'ai d'abord pensé qu'il s'agissait d'un conflic avec le premier userform que j'avais tenté de réalisé en vain et j'ai donc supprimé ce premier userform, toujours pareil.

Voici les code que j'ai utilisé, est ce que ça viendrait de la ?

Private Sub CommandButton2_Click()
UserForm2.Show
End Sub

Private Sub CommandButton2_Click()
With Sheets("Feuil6")
.Range("A15").Value = ComboBox1.Value
.Range("B18").Value = ComboBox2.Value
.Range("B20").Value = ComboBox3.Value
.Range("A37").Value = ComboBox4.Value
.Range("A43").Value = ComboBox5.Value
End With
Unload Me
End Sub
Private Sub UserForm_Initialize()
Dim C As Range, ColA As Integer, ColB As Integer, ColC As Integer
For Each C In Sheets("Feuil7").Range("ColA")
If Not C = "" Then ComboBox1.AddItem C
Next C
For Each C In Sheets("Feuil7").Range("ColB")
If Not C = "" Then ComboBox2.AddItem C
Next C
For Each C In Sheets("Feuil7").Range("ColC")
If Not C = "" Then ComboBox3.AddItem C
Next C
For Each C In Sheets("Feuil3").Range("ColB")
If Not C = "" Then ComboBox4.AddItem C
Next C
For Each C In Sheets("Feuil3").Range("ColB")
If Not C = "" Then ComboBox5.AddItem C
Next C

End Sub


Par avance merci, encore :s
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Userform spécial

Bonjour à tous

A priori tu à 2 événements click pour un même bouton :

Code:
Private Sub CommandButton2_Click()

pour un même objet tu ne peux avoir qu'une seule procédure sur le même événement.

bonne fin d'après midi
@+
 

jeanpierre

Nous a quitté
Repose en paix
Re : Userform spécial

Bonjour lessa, TheLio, Dull, Gael,

Tu as 2 commandButton2_Click()

Soit le premier ne te sert à rien et tu le supprimes, soit il te sert pour appeler l'Usf, auquel cas tu le transportes dans le code de la feuille concernée.

Considérant que le second concerne un bouton sur l'Usf.

A te lire.

Jean-Pierre

Edit : Bonjour Pierrot
 
Dernière édition:

lessa

XLDnaute Nouveau
Re : Userform spécial

Bonjour à tous
A croire que j'deviens accro à votre aide :s

J'vous envois mon fichier, le bouton 2 fonctionne pas erreur 1004, j'ai beau cherché, j'vois pas d'ou ça vient, ça me surligne userform1.show mais j'vois pas pourquoi :s

Merci d'avance
 

Pièces jointes

  • Migraine.xls
    43.5 KB · Affichages: 65

Gael

XLDnaute Barbatruc
Re : Userform spécial

Bonjour Lessa, bonjour à tous,

L'erreur vient de la procédure d'initialisation du Userform.

Tu ne peux pas écrire:

Code:
Dim ColA as integer
Range("ColA")...

puisque ColA est défini comme un chiffre entier et range("ColA") fait référence à un nom qui n'existe pas.

Tu peux écrire par contre:

Code:
Range("A1:A5")

pour faire référence aux cellules A1 à A5 de la feuille active.

J'ai refait ta procédure en mettant:

Code:
.Range("A1:A" & .Range("A100").End(xlUp).Row)

Le ".Range("A100").End(xlUp).Row)" permet de rechercher la dernière ligne utilisée dans la colonne en cherchant à partir de la ligne 100 et vers le haut.

Ci-joint ton code modifié.

@+

Gael
 

Pièces jointes

  • Migraine_V1.xls
    45.5 KB · Affichages: 69

lessa

XLDnaute Nouveau
Re : Userform spécial

Héhé en fait ça marchait toujours pas mais j'ai trouvé d'ou venait le problème, en fait j'ai renommé mes feuilles et j'y ai pu pensé après donc normal que je ne trouvait pas la différence avec le classeur que vous m'aviez donné en exemple et mon classeur original ^^, mon classeur fonctionne désormais à merveille et ça grace à votre aide, merci beaucoup, j'espère pouvoir vous aider à mon tour par la suite.

Caro
 

Discussions similaires

Statistiques des forums

Discussions
314 450
Messages
2 109 727
Membres
110 552
dernier inscrit
jasson