recherchev vba formulaire

JoJodu76

XLDnaute Nouveau
Bonjour à tous,

Je suis en train de creer un formulaire, affichable via un bouton dans le fichier.

Dans ma feuille excel, j'ai des lignes avec des dates
Dans mon formulaire, j'ai un calendrier qui prend la date du jour, mais que l'on peut changer a sa guise

je souhaite que la valeur de la textbox2 (nb demande fournies), prenne la valeur de la colonne B, correspondant a la date du calendrier...

j'essaye d'utiliser la fonction vlookup pour ca.. mais je n'y arrive pas ^^

voici le code utilisé => TextBox2.Value = Application.VLookup(calendrier, Range("A5:b60"), 2, False)

En PJ mon fichier...

Je ne vois pas comment faire...

Merci d'avance à tout les aidants xD
 

Pièces jointes

  • externalisation dmd.xlsm
    31.5 KB · Affichages: 31

cp4

XLDnaute Barbatruc
Bonjour,

un essai à tester à mettre dans l'userform
VB:
Private Sub trouve()
   Set c = Feuil1.Range("A5:A35").Find(what:=CDate(Me.calendrier.Value), lookat:=xlWhole)
   If Not c Is Nothing Then
      Me.TextBox2.Value = c.Offset(, 1).Value
   Else
      MsgBox "non trouvé"
   End If
End Sub

Private Sub calendrier_Change()
   If Me.calendrier = "" Then Exit Sub
  Call trouve
End Sub

Private Sub CommandButton1_Click()
   On Error Resume Next
   TextBox1.Value = TextBox1.Value + 1
End Sub

Private Sub CommandButton2_Click()
   On Error Resume Next
   TextBox1.Value = TextBox1.Value - 1
End Sub

Private Sub CommandButton3_Click()
   Dim colonne As Integer, derligne As Integer, ctrl As Control, dmdrecues As Integer

   'derligne devient la ligne qui suit la derniere valeur du tableau
   derligne = Sheets("feuil1").Range("A560000").End(xlUp).Row + 1

   'balaye les control un par un avec le for... next
   For Each ctrl In formulaire.Controls

      'la valeur de "colonne" est egale a la valeur du tag du controle
      colonne = Val(ctrl.Tag)

      'si la valeur du tag >0, l'intersection n°de derligne et n° de colonne est une cellule qui contiendra la valeur "ctrl"
      'cad celle contenu dans le control
      If colonne > 0 Then Sheets("feuil1").Cells(derligne, colonne) = ctrl

      'next=> on passe au controle suivant
   Next

End Sub

Private Sub UserForm_Initialize()

   Me.calendrier = Format(Now, "dd/mm/yyyy")
  Call trouve
End Sub
Bonne journée.
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 943
Membres
101 849
dernier inscrit
florentMIG