VBA, Macro User Form

Résolu
Bonjour à tous,

Comme vous pouvez le voir dans mon fichier ci-dessous, dont le but est la gestion des palettes dans mon entreprise,

J'aimerais que grâce à l'user form créé et à l'entrée des données dans ce dernier, je puisse remplir mon tableau que l'on trouve en cliquant sur mon bouton "données"

J'y suis presque mais mon code VBA me relève une erreur et je n'arrive pas à la modifier pour que ça fonctionne parfaitement....

Merci d'avance

Ps : voici le lien : https://www.petit-fichier.fr/2017/04/13/faux/

1 réponse

  1. Contributeur
    Bonjour,

    Je ne vois pas de feuille nommée Dessin!
    Il faut rendre la feuille données visible!
    Voilà

    Private Sub CommandButton1_Click()
    
       ' Sheets("Dessin").Select
        Rows("1:1").Select
        Selection.AutoFilter
    ThisWorkbook.Sheets("données").Visible = True
    Sheets("données").Select
    
    'Test si toutes les cases de base sont renseignées
    If ComboBox1 = "" Or TextBox1 = "" Or TextBox2 = "" Or TextBox4 = "" Or TextBox5 = "" Then
                MsgBox ("Merci de Remplir l'ensemble des cases nécessaires.")
    Else
    
    
    'Recopier les informations à la suite
    'si première ligne de saisie
    If Range("A2") = "" Then
    Range("A2").Select
    n = ActiveCell.Row
    Else
    'pour toute les autres lignes que la première
    Range("A1").End(xlDown).Offset(1, 0).Select
    n = ActiveCell.Row
    End If
    
    'Choix des cellules de destination
    
    Range("C" & n) = CDate(TextBox1.Value)
    Range("D" & n) = TextBox2.Value
    
    Range("E" & n) = ComboBox1.Value
    
    Range("F" & n) = TextBox4.Value
    Range("G" & n) = TextBox5.Value
    
    Range("A" & n) = "=MONTH(RC[2])"
    Range("B" & n) = "=TEXT(WEEKDAY(RC[1]),""jjjj"")"
           
    ThisWorkbook.Save
    
    Me.Hide
    Sheets("Accueil").Select
    End If
    
    End Sub
    
    

    1
    1. Bonjour,

      Merci pour cette réponse rapide mai cela ne fonctionne pas, j'ai un message d'erreur qui apparait :

      "erreur d'exécution 1004
      la commande n'a pas pu être exécutée avec la plage spécifiée
      Sélectionnez une seule cellule dans la plage et réessayer"

      et en cliquant sur "déboguer", cela me surligne en jaune le Selection.Autofilter

      Merci
      0
    2. Contributeur
      @caillasse147Tu supprimes ces 2 lignes:

       Rows("1:1").Select
          Selection.AutoFilter
      0
    3. Eh bien ç m'a l'air de fonctionner parfaitement!!!

      merci pour ta précieuse aide

      Bonne après-midi
      0
    4. Contributeur
      @caillasse147Voilà le classeur corrigé:

      http://www.cjoint.com/c/GDnn6nSC3UQ
      0