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

Excel Discussion :

Inserer donnees contenues dans userform dans une feuille exel precise [XL-2010]


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 14
    Points : 5
    Points
    5
    Par défaut Inserer donnees contenues dans userform dans une feuille exel precise
    Bonjour, je suis nouveau dans le VBA et je me suis aidé de forum. mais pour ma demande et étant débutant je ne trouve aucun sujet de discution précis pour mon probléme. Je vous remercie pour le temps que vous souhaiterez m'accorder pour résoudre mon probléme.

    Je dois réaliser une petite application qui permettra aux employés de generer en ouvrant le fichier excel une demande d'achat.

    Donc j'ai fais un userform " formulairedemandeachat" qui est composé de combobox et de listbox.Les combobox prennent leurs informations ( choix déroulant ) dans une feuille qui s'appel " basededonnees". cela fonctionne.

    Le probléme c'est quand j'appuis sur mon bouton " faire ma demande achat " ( Private Sub CommandButton1_Click() . Les données que j'ai choisie avec les combobox apparaisse sur une ligne de mon classeur mais il choisi le classeur aléatoirement or je veux qu'elles apparaisse a la feuille "ficheresponsableachat". J'ai vu qu'il fallais un genre de "sheet" et selectionner la page. mais je ne sais pas dans quel partie de mon code l'inserer j'ai essayer mais je dois avoir aussi une faute d'orthographe.

    Je vous copie mon code :

    Private Sub ComboBox2_Change()

    End Sub

    Private Sub CommandButton1_Click()


    Label1.ForeColor = RGB(0, 0, 0)
    Label2.ForeColor = RGB(0, 0, 0)
    Label3.ForeColor = RGB(0, 0, 0)
    Label4.ForeColor = RGB(0, 0, 0)
    Label5.ForeColor = RGB(0, 0, 0)
    Label6.ForeColor = RGB(0, 0, 0)
    Label7.ForeColor = RGB(0, 0, 0)


    'Contrôles de contenu
    If ComboBox1.Value = "" Then 'SI pas de "nom" ...
    Label2.ForeColor = RGB(255, 0, 0) 'Label "nom" en rouge
    ElseIf ComboBox2.Value = "" Then
    Label1.ForeColor = RGB(255, 0, 0)

    ElseIf ComboBox3.Value = "" Then
    Label3.ForeColor = RGB(255, 0, 0)

    ElseIf ComboBox4.Value = "" Then
    Label4.ForeColor = RGB(255, 0, 0)

    ElseIf ComboBox5 = "" Then
    Label5.ForeColor = RGB(255, 0, 0)

    ElseIf ComboBox6 = "" Then
    Label6.ForeColor = RGB(255, 0, 0)

    ElseIf TextBox1 = "" Then
    Label7.ForeColor = RGB(255, 0, 0)
    Else

    'si formulaire complet alors

    If ComboBox2.Value = "" Or ComboBox3.Value = "" Or ComboBox1.Value = "" Or ComboBox4.Value = "" Or ComboBox5.Value = "" Or ComboBox6.Value = "" Then
    MsgBox "Formulaire incomplet"

    End If




    'Si le formulaire est complet, on insère les valeurs sur la feuille
    Dim no_ligne As Integer, civilite As String
    no_ligne = Sheets("ficheresponsableachat").Range("A65536").End(xlUp).Row + 1

    For Each bouton_civilite In Frame1.Controls
    If bouton_civilite.Value Then
    civilite = bouton_civilite.Caption

    End If
    Next







    'Insertion des valeurs sur la feuille

    Cells(no_ligne, 1) = civilite
    Cells(no_ligne, 2) = ComboBox2.Value
    Cells(no_ligne, 3) = ComboBox1.Value
    Cells(no_ligne, 4) = ComboBox6.Value
    Cells(no_ligne, 5) = ComboBox3.Value
    Cells(no_ligne, 6) = ComboBox4.Value
    Cells(no_ligne, 7) = ComboBox5.Value
    Cells(no_ligne, 8) = TextBox1.Value

    'Après insertion, on remet les valeurs initiales
    OptionButton1.Value = True
    ComboBox2.Value = ""
    ComboBox1.Value = ""
    ComboBox3.Value = ""
    ComboBox4.Value = ""
    ComboBox5.Value = ""
    ComboBox6.Value = ""
    TextBox1.Value = ""
    End If

    End Sub




    Private Sub CommandButton2_Click()
    Unload Me

    userformacceuil.Show

    End Sub



    Private Sub userform_Initialize()
    For I = 2 To 15
    ComboBox2.AddItem Sheets("basededonnees").Cells(I, 1)
    Next

    For I = 2 To 15
    ComboBox1.AddItem Sheets("basededonnees").Cells(I, 2)
    Next
    For I = 2 To 15
    ComboBox6.AddItem Sheets("basededonnees").Cells(I, 3)
    Next
    For I = 2 To 15
    ComboBox3.AddItem Sheets("basededonnees").Cells(I, 4)
    Next
    For I = 2 To 15
    ComboBox4.AddItem Sheets("basededonnees").Cells(I, 5)
    Next
    For I = 2 To 15
    ComboBox5.AddItem Sheets("basededonnees").Cells(I, 6)
    Next
    End Sub

  2. #2
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,
    Essayez avec ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    'Insertion des valeurs sur la feuille
    Sheet("ficheresponsableachat").Activate
    Cells(no_ligne, 1) = civilite
    Cells(no_ligne, 2) = ComboBox2.Value
    Cells(no_ligne, 3) = ComboBox1.Value
    Cells(no_ligne, 4) = ComboBox6.Value
    Cells(no_ligne, 5) = ComboBox3.Value
    Cells(no_ligne, 6) = ComboBox4.Value
    Cells(no_ligne, 7) = ComboBox5.Value
    Cells(no_ligne, 8) = TextBox1.Value

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par rjamin Voir le message
    Bonjour,
    Essayez avec ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    'Insertion des valeurs sur la feuille
    Sheet("ficheresponsableachat").Activate
    Cells(no_ligne, 1) = civilite
    Cells(no_ligne, 2) = ComboBox2.Value
    Cells(no_ligne, 3) = ComboBox1.Value
    Cells(no_ligne, 4) = ComboBox6.Value
    Cells(no_ligne, 5) = ComboBox3.Value
    Cells(no_ligne, 6) = ComboBox4.Value
    Cells(no_ligne, 7) = ComboBox5.Value
    Cells(no_ligne, 8) = TextBox1.Value

    Merci pour ta réponse, cependant je viens d'essayer et cela me met un message d'erreur : " erreur de complication, sub ou fonction non definie"

    Après c'est peut-être que j'ai mal inserer. Ce que j'ai fais c'est simplement rajouter " Sheet("ficheresponsableachat").Activate" au dessus de "
    Cells(no_ligne, 1) = civilite" comme l'exeple que vous m'avez fait.


    Merci encore de vous pencher sur mon probléme. pensez-vous a une autre solution ?

  4. #4
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Re,
    Je crois que le s manquant est la cause de l'erreur.
    Essayez
    Sheets("ficheresponsableachat").Activate
    Cells(no_ligne, 1) = civilite
    Cells(no_ligne, 2) = ComboBox2.Value
    Cells(no_ligne, 3) = ComboBox1.Value
    Cells(no_ligne, 4) = ComboBox6.Value
    Cells(no_ligne, 5) = ComboBox3.Value
    Cells(no_ligne, 6) = ComboBox4.Value
    Cells(no_ligne, 7) = ComboBox5.Value
    Cells(no_ligne, 8) = TextBox1.Value

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par rjamin Voir le message
    Re,
    Je crois que le s manquant est la cause de l'erreur.
    Essayez
    Sheets("ficheresponsableachat").Activate
    Cells(no_ligne, 1) = civilite
    Cells(no_ligne, 2) = ComboBox2.Value
    Cells(no_ligne, 3) = ComboBox1.Value
    Cells(no_ligne, 4) = ComboBox6.Value
    Cells(no_ligne, 5) = ComboBox3.Value
    Cells(no_ligne, 6) = ComboBox4.Value
    Cells(no_ligne, 7) = ComboBox5.Value
    Cells(no_ligne, 8) = TextBox1.Value


    Oui en effet je viens d'essayer c'est parfait. Merci encore ! Forum super pratique c'étais mon premier post.

    Bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Reporter contenu des cellules d'une feuille dans 2 autres
    Par carlux3 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/11/2010, 16h06
  2. comment récupérer les données dans contact sur une feuille excel?
    Par Granfred dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/01/2009, 15h02
  3. Réponses: 0
    Dernier message: 12/05/2008, 19h40
  4. affichage dans cellule d'une feuille à partir d'une autre ?
    Par estivals34300 dans le forum Excel
    Réponses: 2
    Dernier message: 01/11/2007, 00h33
  5. Comment inserer le contenu de TextField dans textArea
    Par Tootsi dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 15/01/2006, 13h33

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