Vba - usf a deux combos

Celeda

XLDnaute Barbatruc
Bonjour,

Je souhaiterai en ouvrant un USF, selectionner des clients et ajouter des montants à
des totaux déjà existants et que ces montants viennent se totaliser de nouveau.

Sauf, que je peux avoir des clients identiques dans deux listes différentes XXX et YYY.
Je ne sais pas s'il faut les distinguer dans l'USF par deux combo ou bien si je dois faire
deux USF distincts; bref, je me prends la tête et vos idées et codes seraient les bienvenus
pour que je ne fasse pas une usine à gaz de cette simple manip.

Pouvez-vous m'aider, svp.

Je vous remercie à l'avance.
 

Pièces jointes

  • USFSELECT.xls
    270 KB · Affichages: 67
G

Guest

Guest
Re : Vba - usf a deux combos

Bonjour Celeda,

en ajoutant 2 optionbuttons qui représentent la liste XXX et la liste YYY ?
Initialiser l'ouverture du userForm suivant que la cellule active est dans XXX ou YYY ?

Sauras-tu faire?

A+
[Edit] bonjour Bernard
 

Celeda

XLDnaute Barbatruc
Re : Vba - usf a deux combos

Bonjour,



Code:
Initialiser l'ouverture du userForm suivant que la cellule active est dans XXX ou YYY ?

Sauras-tu faire? en ajoutant 2 optionbuttons

Yes!! good idea!!

Excellente proposition permettant le choix.

Merci Hasco pour ta propostion.

Merci Bernard pour ton aide:quelle colonne devrait être retenue si on sélectionne un nom qui figure dans les deux ?

avec les options buttons proposés ci-dessus.
 

jp14

XLDnaute Barbatruc
Re : Vba - usf a deux combos

Bonjour à tous

Une autre approche :
Utiliser un combobox qui contient l'adresse du nom pour retrouver les coordonnées de la cellule et des informations pour permettre la sélection.

Code:
Private Sub UserForm_Initialize()
Dim nomfeuille1 As String
Dim col As String
Dim cellule As Range
Dim Ligdep As Integer

'paramètre
col = "b"
nomfeuille1 = "XXXX-YYY"
Ligdep = 6
'
With ComboBox1
    .Clear
    .ColumnCount = 3
    .ColumnWidths = "60;40;0"
    .Style = fmStyleDropDownList '
    .Width = 100
    '.BoundColumn = 1 ' combobox1.text contient le nom
    For Each cellule In Sheets(nomfeuille1).Range(col & Ligdep & ":" & col & Sheets(nomfeuille1).Range(col & Columns(1).Cells.Count).End(xlUp).Row)
            .AddItem cellule.Value
            .List(.ListCount - 1, 1) = "XXX"
            .List(.ListCount - 1, .ColumnCount - 1) = cellule.Address
        
    Next cellule
col = "g"
    For Each cellule In Sheets(nomfeuille1).Range(col & Ligdep & ":" & col & Sheets(nomfeuille1).Range(col & Columns(1).Cells.Count).End(xlUp).Row)
            .AddItem cellule.Value
            .List(.ListCount - 1, 1) = "YYY"
            .List(.ListCount - 1, .ColumnCount - 1) = cellule.Address
    Next cellule
    
    
End With

End Sub

A tester

JP
 

Celeda

XLDnaute Barbatruc
Re : Vba - usf a deux combos

Bonsoir,

Sous la neige, avec les moufles, la cagoule, les bottes et presque les raquettes,
j'arrive et je découvre vos trois propositions!!! que du bonheur surtout trois
options différentes qui amènent toutes au résultat escompté : je suis vraiment
contente et cela me réchauffe bien fort :D
Je vous remercie beaucoup tous les trois : jp14 -Hasco (tu avais bien compris) et -Fo_rum
Que le monde de vba est vaste quand je lis vos différents codes...autant d'idées
et une telle variété d'écriture. Merci.:eek:

Pour la peine, à défaut de pouvoir vous faire la bise, je vous envoie
un petit peu de mon jardin sous la neige du début de journée et maintenant on voit
plus rien du tout !!! aie aie aie demain............
 

Pièces jointes

  • Palmier05022012.jpg
    Palmier05022012.jpg
    59.2 KB · Affichages: 66

Statistiques des forums

Discussions
312 223
Messages
2 086 397
Membres
103 200
dernier inscrit
pascalgip