Excel Userform transfert des données

Résolu
elvibro Messages postés 3 Statut Membre -  
gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonsoir à tous,

Afin d'optimiser la saisie d'un tableau sous Excel (150 dates dans la première colonne puis 25 thèmes en entête), je me suis lancer dans la conception d'un userform tout simple.

Ce dernier est composé d'une combobox, où l'utilisateur doit choisir une date, de plusieurs textbox et d'un bouton de validation.

Je souhaiterai donc qu'en fonction de la date de la combobox les données des textbox se reportent sur la feuille de calcul en face de la bonne date.

Si vous pouvez me donner quelques info. cela serai top (car même si google est mon ami je n'ai pas trouvé mon bonheur!!)
Configuration: Windows XP
Firefox 3.5.5

3 réponses

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    bonjour

    Tu peux faire quelque chose comme ceci :
    Dim lig As Long
    Do
    lig = lig + 1
    Loop Until Cells(lig, 1).Value = CDate( Me.ComboBox1.Value) Or Cells(lig, 1).Value = ""
    If Cells(lig, 1).Value <> CDate(ComboBox1.Value) Then
        MsgBox "Date absente"
        Exit Sub
    End If
    Cells(lig, 2).Value = Me.TextBox1.Value
    Cells(lig, 3).Value = Me.TextBox2.Value
    

    Ceci recherche ta date en colonne A
    Si non trouvé message erreur
    Sinon TextBox1 en colonne B et TextBox2 en colonne C
    1
    1. elvibro
       
      Bonjour,

      Merci beaucoup pour ta réponse, ça marche nickel.

      Bonne journée
      0
    2. elvibro Messages postés 3 Statut Membre
       
      Je me suis un peu emballé, si les dates sont listées à partir de la cellule "d3" sur un feuille nommé "data" et en adaptant le code comme cela :

      Private Sub CommandButton1_Click()
      Dim lig As Long
      Do
      lig = lig + 1

      Loop Until Cells(lig, 4).Value = CDate(Me.ComboBoxdate1.Value) Or Cells(lig, 4).Value = ""
      If Cells(lig, 4).Value <> CDate(ComboBoxdate1.Value) Then
      MsgBox "Veuillez renseigner la date"
      Exit Sub
      End If
      Cells(lig, 5).Value = Me.Txtfspopt.Value
      Cells(lig, 6).Value = Me.Txtfspdent1.Value

      End Sub


      le message d'erreur apparait même si la date est bien renseigné dans la combobox et du coup je n'ai pas de report.
      0
  2. elvibro Messages postés 3 Statut Membre
     
    En supprimant Or Cells(lig, 4).Value = "" cela fonctionne.

    Salut
    0
  3. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    bonjour

    Si tu enlèves cela et que la date ne soit pas trouvée, cela ne fonctionnera plus : tu vas partir en boucle.

    Essaies plutôt de remettre le "Me." sur le test que j'avais oublié.
    0