lien entre listBox et comBox

bobjazz

XLDnaute Impliqué
Bonjour
Et grand Bravo à vous pour vos conseils. Grace à vous j'ai constitue un fichier. Mon sousi qui je pense pour une rigolade. Dans le fichier, il y a une macro 'lignefin', le resultat que je voudrait faire avec le bonton 'N° FACTURE'.
Mais je n'arrive pas à mettre le n0 BA avec le mois choisi, c'est à dire la feuille.
Si quelqu'un a la solution je suis preneur


Merci
Bobjazz
 

bobjazz

XLDnaute Impliqué
Bonjour
je recommence

Et grand Bravo à vous pour vos conseils. Grace à vous j'ai constitue un fichier. Mon sousi qui pour vous je pense, une rigolade. Dans le fichier, il y a une macro 'lignefin', c'est le resultat que je voudrait faire avec le bonton 'N° FACTURE'. Lorque j'ouvre mon UserForm, j'aimerai mettre mes N° BA à jour en fonction de mon mois choisi. Et je bloque.
Merci
Bobjazz

Mon fichier est joint avec moins de 50 Ko

Message édité par: bobjazz, à: 31/07/2005 13:16
 

bobjazz

XLDnaute Impliqué
bobjazz écrit:
Bonjour
Et grand Bravo à vous pour vos conseils. Grace à vous j'ai constitue un fichier. Mon sousi qui je pense pour une rigolade. Dans le fichier, il y a une macro 'lignefin', le resultat que je voudrait faire avec le bonton 'N° FACTURE'.
Mais je n'arrive pas à mettre le n0 BA avec le mois choisi, c'est à dire la feuille.
Si quelqu'un a la solution je suis preneur
Je n'arrive pas à joindre mon fichier, comprend pas
Est ce qu'il y a une methode speciale, je selectionne je click sur[fichier] et apres je vois apres mon log et rien

Merci
Bobjazz
:eek:
 

bobjazz

XLDnaute Impliqué
Bonjour
je recommence

Et grand Bravo à vous pour vos conseils. Grace à vous j'ai constitue un fichier. Mon sousi qui pour vous je pense, une rigolade. Dans le fichier, il y a une macro 'lignefin', c'est le resultat que je voudrait faire avec le bonton 'N° FACTURE'. Lorque j'ouvre mon UserForm, j'aimerai mettre mes N° BA à jour en fonction de mon mois choisi. Et je bloque.
Merci
Bobjazz

Mon fichier est joint avec moins de 50 Ko avec winzip [file name=cahierba.zip size=47579]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/cahierba.zip[/file]

Message édité par: bobjazz, à: 31/07/2005 15:05
 

Pièces jointes

  • cahierba.zip
    46.5 KB · Affichages: 57

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour BobJazz, Michel, HellBoy, le Forum

J'ai du mal à comprendre... Comment veux-tu que ton UserForm2 se mette à jour en fonction :

Possibilité 1
On choisit un Mois dans la ComboBox1, cet évènement met à Jour le dernier Numéro disponible (incrémenté plus 1) de BA dans la ComboBox2 ?

Possibilité 1 (bis)
Une variante avec la Liste des B/A du mois choisit ?

Possibilité 2
On a choisit un Mois sur la Feuille Interface et ça ouvre le UserForm sur le Mois Choisi avec la ComboBox1 montrant le Mois et avec la Liste des BA en ComboBox2 ?

Ou bien, par contre je ne vois pas ce que la macro 'lignefin' vient faire la dedans ...

Il vaut mieux que tu t'expliques un peu plus en détails.

Bon Dimanche
[ol]@+Thierry[/ol]
 

bobjazz

XLDnaute Impliqué
Bonjour Thierry

Merci de ta reponce

Possibilité 1 (bis)
Une variante avec la Liste des B/A du mois choisit ?
Cette solution est la plus appropriee par rapport à ce USF
Pour la macro, je travaillai avec elle, mon but est de la supprimer avec l'USF, c'est à dire
Manip:
1 j'ouvre mon USF la date se met à jour
2 je choisi mon mois
la liste des B.A. se met à jour en fonction du mois choisi
3 j'inscrit mon N° de Facturation
4 je valide et je remplit ma ligne du B.A. en incorporant le N° facturation,la date et je colorie la ligne avec effacement des données pour en rentrer d'autres

J'espère avoir mieux expliquer ce que je veux faire

Merci encore
Bobjazz
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re Bonjour BobJazz, le Fil

Si j'ai bien compris :

Option Explicit


Private Feuille As Worksheet
Private Ligne As Integer

Private Sub ComboBox1_Change()
Dim TabBa As Variant

On Error GoTo Out
Set Feuille = Worksheets(CStr(Me.ComboBox1))

   
With Feuille
        TabBa = .Range(.Range('A2'), .Range('A65536').End(xlUp))
   
End With

Me.ComboBox2.List = TabBa

Exit Sub
Out:
    MsgBox 'La Feuille ' & Me.ComboBox1 & ' n
'existe pas'
End Sub


Private Sub ComboBox2_Change()

Ligne = Me.ComboBox2.ListIndex + 2

MsgBox 'Le BA ' & Me.ComboBox1 & ' se trouve en ligne ' & Ligne & ' de la Feuille ' & Feuille.Name


End Sub

Tu noteras que les Variables Ligne et Feuille sont déclarées en Dehors de toute Sub en Top de Module pour être partagées par les différents contrôles du UserForm2...

Pour la Private Sub ComboBox2_Change, j'ai mis un MsgBox, mais c'est juste pour tester que la Variable Ligne correspond bien à la Ligne de ton BA ...

Tu pourras ensuite facilement travailler sur cette Feuille et Cette Ligne pour Envoyer/Modifier tes Données...

Private Sub CmdOK_Click()
    Feuille.Range('L' & Ligne) = TextBox2
End Sub


Pour le reste je te laisse 'Jouer' !!! ;)

Bon Dimanche
[ol]@+Thierry[/ol]
 

bobjazz

XLDnaute Impliqué
Bravo
cela faisait 2 jours à essayer plein de codes, il me manquait cela.

Une derniere si tu as le temps, comment avec le bouton OK, valider, remplir la ligne, USF pour rentrer d'autres données

Merci et bravo
j'espere arriver dans quelques temps et pouvoir aider comme toi

Bobjazz
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re Bonjour BobJazz, le Fil, le Forum

Je ne saisis pas 'valider, remplir la ligne, USF pour rentrer d'autres données'...

Valider => Je pense que tu as l'info avec mon exemple sur ton contrôle 'CmdOK' juste avant (non ?)

Remplir la Ligne=> je ne vois pas la nuance entre 'Valider' et 'Remplir' Si c'est pour faire plusieurs cellules, vu que tu n'as pas le même ordre dans ton UserForm que sur ta Ligne de Données, il faudra le faire Contrôle par Contrôle :

Private Sub CmdOK_Click()
   
With Feuille
    .Range('B' & Ligne) = TextBox1
    .Range('L' & Ligne) = TextBox2
   
End With
End Sub

USF pour rentrer d'autres données, tu voudrais ré-initialiser le UserForm à Vide ?
On Peut faire un Code de re-initialisation mais il faudra empêcher le déclenchement intempestif des évènementielles sur 'Change' les ComboBox avec une Boolean par Exemple....

Voici une Récap complète du Code :

Option Explicit

Private Feuille As Worksheet
Private Ligne As Integer
Private Ini As Boolean

Private Sub UserForm_Initialize()
Dim WS As Worksheet
   
For Each WS In Worksheets
       
If WS.Name <> 'Interface' Then
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ComboBox1.AddItem WS.Name
&nbsp; &nbsp; &nbsp; &nbsp;
End If
&nbsp; &nbsp;
Next

TextBox1 =
Date
End Sub

Private Sub ComboBox1_Change()
Dim TabBa As Variant
If Ini = True Then Exit Sub

On Error GoTo Out
Set Feuille = Worksheets(CStr(Me.ComboBox1))

&nbsp; &nbsp;
With Feuille
&nbsp; &nbsp; &nbsp; &nbsp; TabBa = .Range(.Range('A2'), .Range('A65536').End(xlUp))
&nbsp; &nbsp;
End With
Me.ComboBox2.List = TabBa

Exit Sub
Out:
&nbsp; &nbsp; MsgBox 'La Feuille ' & Me.ComboBox1 & ' n
'existe pas'
End Sub


Private Sub ComboBox2_Change()
Ligne = Me.ComboBox2.ListIndex + 2
End Sub

Private Sub CmdOK_Click()
&nbsp; &nbsp;
With Feuille
&nbsp; &nbsp; .Range('B' & Ligne) = TextBox1
&nbsp; &nbsp; .Range('L' & Ligne) = TextBox2
&nbsp; &nbsp;
End With
ReInitialisation
Ini =
False
End Sub

Private Sub ReInitialisation()
Ini =
True
With Me
.ComboBox1 = ''
.ComboBox2.Clear
.TextBox2 = ''
End With
End Sub

Private Sub CmdSortir_Click()
Unload UserForm2
End Sub


Bon Dimanche
@+Thierry
 

bobjazz

XLDnaute Impliqué
Super
je mettais lancer sur cela j'y etais presque mais grand bug quand je sortais

Merci d'avance, je vais m'amuser à le faire devellopper
par exemple colorier la ligne entiere, remplir une liste BA d'une serie de chiffre

Je te montrerai l'evolution ou si tu veux m'aiguiller
Une derniere question que veux tu dire ' empêcher le déclenchement intempestif des évènementielles sur \\'Change\\' les ComboBox avec une Boolean par Exemple.... '

Cela fait combien de temps que tu fais du VBA ?

Merci
Bobjazz
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 909
Membres
101 836
dernier inscrit
karmon