Joindre des valeur d'une combobox à un commandbutton

ugb

XLDnaute Nouveau
Bonjour,

Etant encore débutant en VBA, je rencontre quelques problèmes et ce dernier m'empêche d'avancer.
Je vais tenter d'être le plus clair possible, n'hésitez pas à me reprendre si cela ne l'est pas pour vous.

J'ai créé un userform dans lequel je fais apparaître une combobox avec une liste de date, à côté de celle-ci j'ai ajouté un commandbutton qui nous permet de valider notre date.
J'aimerai que lorsque l'on valide cette date, la ligne qui lui correspond dans le fichier excel ainsi que les 6 suivantes se collent dans une nouvelle page excel intitulé "BDD".

Toutes mes dates se trouvent dans une feuille excel intitulé "Volatility" et vont de la cellule H6 à H50, j'aimerai donc pour exemple que si je sélectionne une date équivalent à la cellule H8, toutes les données de la ligne 8 à la ligne 14 se collent sur mon autre feuille excel intitulé "BDD".
J'ai affecté les données à ma combobox directement dans ses propriétés (dans l'intitulé "Rowsource").

Voici le code que j'ai utilisé pour ma combobox et ma commandbutton:

Private Sub ComboBox1_change()
ComboBox1.Value = Format(ComboBox1.Value, "dd/mm/yy")

End Sub

Private Sub CommandButton1_Click()

Dim ComboBox1Value As Date
Dim i As Integer
Worksheets("BDD").Activate
Columns("A:i").Select
For i = 6 To 100
Worksheets("Volatility").Activate
If Cells(i, 8) = ComboBox1Value Then
Rows(i).Select
Selection.Copy
Worksheets("BDD").Activate
ActiveSheet.Paste
Application.CutCopyMode = False
End If

Next i

End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : Joindre des valeur d'une combobox à un commandbutton

Bonjour,

modifie peut être cette instruction :
Code:
If Cells(i, 8) = ComboBox1Value Then

comme ceci :
Code:
If Cells(i, 8) = CDate(ComboBox1Value) Then

comme on ne sait où tu bloques et pas de fichier....

bon après midi
@+
 

ugb

XLDnaute Nouveau
Re : Joindre des valeur d'une combobox à un commandbutton

Merci pour ce conseil, cette fois au moins ca affiche certains résultats mais ce n'est pas encore vraiment ce que je recherche.
J'ai énormément simplifié le fichier car sinon il était beaucoup trop lourd.
Je le met en pièce jointe le fichier ce sera certainement plus simple à comprendre.

Encore un grand merci pour votre aide.
 

Pièces jointes

  • Essai Formulaire.xlsm
    18.4 KB · Affichages: 37
  • Essai Formulaire.xlsm
    18.4 KB · Affichages: 40
  • Essai Formulaire.xlsm
    18.4 KB · Affichages: 33

Pierrot93

XLDnaute Barbatruc
Re : Joindre des valeur d'une combobox à un commandbutton

Re,

essaye comme ceci :
Code:
Private Sub ComboBox1_Click()
With ComboBox1
    If .ListIndex <> -1 Then .Value = Format(.Value, "dd/mm/yy")
End With
End Sub
Private Sub CommandButton1_Click()
Dim x As Range
With Sheets("Feuil1")
    Set x = .Columns(2).Find(CDate(ComboBox1.Value), , xlValues, xlWhole, , , False)
    If Not x Is Nothing Then x.Resize(, 3).Copy Destination:=Sheets("Feuil2").Range("B1")
End With
   
End Sub
Private Sub UserForm_Initialize()
With Sheets("Feuil1")
    ComboBox1.List = .Range("B3", .Range("B65536").End(xlUp)).Value
End With
ComboBox1.Value = Format(ComboBox1.Value, "dd/mm/yy")
End Sub

supprime la plage renseignée dans la propriété "rowsource" du combo, ici alimenté via la propriété "list"....
 

ugb

XLDnaute Nouveau
Re : Joindre des valeur d'une combobox à un commandbutton

Ca marche ! Merci beaucoup!!!!

En revanche quand je l'adapte à mon fichier, ca ne me copie pas la ligne entière (qui va de la colonne H à la colonne AP) et je n'arrive pas a faire en sotre que cela copie-colle les 6dates qui suivent celle sélectionée...

Vraiment désolé, votre aide m'est très précieuse mais je comprendrai si vous aviez d'autres choses à faire..

Merci
 

Pierrot93

XLDnaute Barbatruc
Re : Joindre des valeur d'une combobox à un commandbutton

Re,

modifie les argument de la propriété "resize" dans l'instruction ci-dessous :
Code:
If Not x Is Nothing Then x.Resize(, 3).Copy Destination:=Sheets("Feuil2").Range("B1")

Avant la virgule, mets le nombre de lignes que tu veux copier, après, ici le 3 c'est le nombre de colonnes....
 

Discussions similaires

Réponses
6
Affichages
202