IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

transfert données d'un userform vers feuille excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 32
    Points : 11
    Points
    11
    Par défaut transfert données d'un userform vers feuille excel
    Bonjour le forum,

    Je viens vers vous parce que j'essaye de mettre en place un petit programme pour saisir des plannings sur excel par le biais d'un userform...
    Mais mon manque de connaissances me bloque à ce niveau et m'empêche d'avancer!

    je joins mon fichier.
    La saisie concerne les userforms "Planteurs" et "clients"
    Copie2 de Copie de VBA.xls

    Merci par avance!!!

  2. #2
    Membre éprouvé
    Avatar de eric4459
    Homme Profil pro
    Ingénieur Gestion de Projets
    Inscrit en
    Avril 2014
    Messages
    605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Gestion de Projets
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 605
    Points : 1 124
    Points
    1 124
    Par défaut
    Bonjour,
    Sans véritable expression de tes besoins, voici un morceau de code qui permettra de transférer les données de l'UserForm Planteurs vers l'onglet "Saisie".
    Ce code est à intégrer dans ton UserForm

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Private Sub CommandButton1_Click()
    Dim SD As Worksheet
    Dim BASE As Range
    Dim i As Integer
    Set SD = ThisWorkbook.Sheets("Saisie")
    Set BASE = SD.Range("A1")
    BASE = BASE.Offset(0)
    i = 1
     
    'rentrer des données obligatoires'
    If TextBox1 = "" Or TextBox3 = "" Or ComboBox1 = "" Or ComboBox2 = "" Or ComboBox3 = "" Then
            MsgBox "Vous devez remplir toutes les données obligatoires"
            End If
     
    If BASE.Offset(i - 1, 0) = "" Then
    BASE.Offset(i - 1, 0) = Planteurs.Label1.Caption
    BASE.Offset(i - 1, 1) = Planteurs.Label2.Caption
    BASE.Offset(i - 1, 2) = Planteurs.Label3.Caption
    BASE.Offset(i - 1, 3) = Planteurs.Label4.Caption
    BASE.Offset(i - 1, 4) = Planteurs.Label6.Caption
    End If
     
     
    If BASE.Offset(i, 0) <> "" Then
    i = i + 1
    BASE.Offset(i, 0) = Planteurs.TextBox1.Value
    BASE.Offset(i, 1) = Planteurs.TextBox2.Value
    BASE.Offset(i, 2) = Planteurs.TextBox3.Value
    BASE.Offset(i, 3) = Planteurs.TextBox4.Value
    BASE.Offset(i, 4) = Planteurs.ComboBox1.Value & "/" & Planteurs.ComboBox2.Value & "/" & Planteurs.ComboBox3.Value
    End If
     
     Unload Me
    End Sub
    Ce sera, je pense, une base à adapter en fonction de tes besoins.
    Si tu as d'autre demandes précises, n'hésites pas.
    Eric
    "Vous n’avez cessé d’essayer ? Vous n’avez cessé d’échouer ? Aucune importance !
    Réessayez, échouez encore, échouez mieux." Samuel Beckett
    Pensez aux balises et
    Visitez les FAQ Excel et allez faire un tour ici
    Tutoriels de SilkyRoad

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    eric4459 je n'est pas grand chose à dire sur ton code, sauf pour le format de date!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BASE.Offset(i, 4) = Planteurs.ComboBox1.Value & "/" & Planteurs.ComboBox2.Value & "/" & Planteurs.ComboBox3.Value
    dans ton code ci dessus la date sera vue, par Excel, comme une date américaine et le risque d'inversion du jour et du mois et quasi sur!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BASE.Offset(i, 4) = Planteurs.ComboBox3.Value & "-" & Planteurs.ComboBox2.Value & "-" & Planteurs.ComboBox1.Value

  4. #4
    Membre éprouvé
    Avatar de eric4459
    Homme Profil pro
    Ingénieur Gestion de Projets
    Inscrit en
    Avril 2014
    Messages
    605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Gestion de Projets
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 605
    Points : 1 124
    Points
    1 124
    Par défaut
    Bonjour Robert,
    Je ne crois pas qu'il y aura de problème car les données des ComboxBox ne sont pas au format date et ce que je rentre dans ma cellule n'est qu'une concaténation de texte.
    Si effectivement le but est de travailler avec la valeur de cette cellule alors il faudra passer au format date en paramétrant le format correctement.
    Sinon, j'ai modifié mon code car à la première saisie rien ne se passait.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Private Sub CommandButton1_Click()
    Dim SD As Worksheet
    Dim BASE As Range
    Dim i As Integer
    Dim der As Integer
    Set SD = ThisWorkbook.Sheets("Saisie")
    Set BASE = SD.Range("A1")
    BASE = BASE.Offset(0)
    i = 1
        With SD
         der = .Cells(.Rows.Count, 1).End(xlUp).Row 'recherche le numéro de la dernière ligne
        End With
    'rentrer des données obligatoires'
    If TextBox1 = "" Or TextBox3 = "" Or ComboBox1 = "" Or ComboBox2 = "" Or ComboBox3 = "" Then
            MsgBox "Vous devez remplir toutes les données obligatoires"
            End If
     
    If BASE.Offset(i - 1, 0) = "" Then ' Si la première ligne est vide on nomme le nom des colonnes A à E
    BASE.Offset(i - 1, 0) = Planteurs.Label1.Caption
    BASE.Offset(i - 1, 1) = Planteurs.Label2.Caption
    BASE.Offset(i - 1, 2) = Planteurs.Label3.Caption
    BASE.Offset(i - 1, 3) = Planteurs.Label4.Caption
    BASE.Offset(i - 1, 4) = Planteurs.Label6.Caption
    End If
     
     
    If BASE.Offset(i, 0) <> "" Then ' Si la ligne 2 est déjà remplie on passe à la première ligne vide
    i = der
    BASE.Offset(i, 0) = Planteurs.TextBox1.Value
    BASE.Offset(i, 1) = Planteurs.TextBox2.Value
    BASE.Offset(i, 2) = Planteurs.TextBox3.Value
    BASE.Offset(i, 3) = Planteurs.TextBox4.Value
    BASE.Offset(i, 4) = Planteurs.ComboBox1.Value & "/" & Planteurs.ComboBox2.Value & "/" & Planteurs.ComboBox3.Value
    Else
    BASE.Offset(i, 0) = Planteurs.TextBox1.Value ' Si la première ligne est vide on y intègre les données
    BASE.Offset(i, 1) = Planteurs.TextBox2.Value
    BASE.Offset(i, 2) = Planteurs.TextBox3.Value
    BASE.Offset(i, 3) = Planteurs.TextBox4.Value
    BASE.Offset(i, 4) = Planteurs.ComboBox1.Value & "/" & Planteurs.ComboBox2.Value & "/" & Planteurs.ComboBox3.Value
    End If
     
     Unload Me ' On vide l'UserForm des données renseignées
    End Sub
    Eric
    "Vous n’avez cessé d’essayer ? Vous n’avez cessé d’échouer ? Aucune importance !
    Réessayez, échouez encore, échouez mieux." Samuel Beckett
    Pensez aux balises et
    Visitez les FAQ Excel et allez faire un tour ici
    Tutoriels de SilkyRoad

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 32
    Points : 11
    Points
    11
    Par défaut Merci
    Bonjour,

    Je viens à peine de voir vos réponse.
    Tout d'abord un grand merci à vous pour avoir réfléchi à mon problème.
    Je teste aujourd'hui vos solutions et je vous tiens courant;

    Encore Merci !!!

Discussions similaires

  1. Copie donnees userform vers feuille excel
    Par Loupion dans le forum Excel
    Réponses: 1
    Dernier message: 14/12/2014, 00h41
  2. [XL-2010] Exportation de données d'un formulaire vers feuille Excel
    Par MartinTK dans le forum Excel
    Réponses: 2
    Dernier message: 11/02/2014, 11h29
  3. [XL-2003] Transfert date d'un userform vers Excel
    Par dlight dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 15/04/2011, 03h37
  4. Transfert depuis USERFORM vers fichier EXCEL
    Par janobrasil dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/10/2008, 13h15
  5. Réponses: 35
    Dernier message: 18/05/2006, 18h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo