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 :

[VBA-E]Comment n'envoyer que certaines données d'une userform vers excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 73
    Points : 41
    Points
    41
    Par défaut [VBA-E]Comment n'envoyer que certaines données d'une userform vers excel
    Bonjour,
    je souhaite envoyer les données de ma userform vers excel, ce qui fonctionne. Mais, je ve que seulement certaines données soient envoyées et pas d'autres. Est ce que c'est possible? et comment dois-je faire?
    Si quelqu'un a la solution ce serait génial. merci

    Jamelie

  2. #2
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    En attendant que les spécialistes VBA arrivent :
    Edite ton sujet et complète le par les informations dont ils auront sans aucun doute besoin : Comment les sélectionnes-tu ? Des "Ranges" ou par expression conditionnelle ?
    Ces pérécisions vont leur être nécessaires pour ne pas commencer à travailler à l'aveugle ! Et celà permettra d'éviter des messages complémentaires !

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Points : 733
    Points
    733
    Par défaut
    Bonjour,

    Pourrais tu m'expliquer comment fonctionne cete partie la?
    Parce que pour fair ele lien entre la fenetre et les feuilles du classeur tu as surement utilisé du code... Pourquoi ne pas enlever les lignes qui transmette les informations non souhaitées?

    je souhaite envoyer les données de ma userform vers excel, ce qui fonctionne.
    Et quel genre de données ne veut tu pas transmettre dans excel?
    N'oubliez pas de mettre le

  4. #4
    Membre éclairé
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Points : 739
    Points
    739
    Par défaut
    Citation Envoyé par jamelie
    Bonjour,
    je souhaite envoyer les données de ma userform vers excel, ce qui fonctionne. Mais, je ve que seulement certaines données soient envoyées et pas d'autres. Est ce que c'est possible? et comment dois-je faire?
    Si quelqu'un a la solution ce serait génial. merci

    Jamelie
    Salut,

    Je ne comprends pas ta (tes) questions car par définition ta userform est attachée au fichier Excel dans laquelle elle se trouve.
    Il est possible de séparer les routines et les fonctions que tu définies de celles visibles par l'utilisateur en les déclarant en Private mais est-ce que cela correspond ???

    Comme le signale jmfmarques : on a besoin de plus d'info

    Il faudrait également préciser dans le titre du sujet (au début) que cela concerne le VBA et Excel avec le "tag" : [VBA] ou [VBA-E]

    Merci d'avance

    Théo
    Forums VB : lire la notice
    La touche existe pour être utilisée
    Pensez au tag
    Pour ceux n'ayant pas l'aide installée :
    - Aide MSDN pour VB6
    - Aide MSDN pour VBA
    Je ne réponds pas aux questions techniques par MP. Merci d'utiliser le forum fait pour çà.

  5. #5
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 73
    Points : 41
    Points
    41
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub CdBSave1_Click()
    Dim i As Integer
    For Each ctrl In Reclam.Controls
    If TypeOf ctrl Is MSForms.TextBox Then
    i = i + 1
    Worksheets("BDD1").Cells(2, (2 + i)) = ctrl
    End If
    Next
    UserForm1.Hide
    End Sub
    ce code me permet d'avoir les données entrées dans ma userform dans excel avec une donnée par colonne. le problème c'est que dans ma userform j'ai des onglet(controle multipage) chaque onglet contient des données. par exemple dans le premier j'ai les réclamations je dois entrer le nombre de réclamations et le tonnage de produits vendus pour chaque produit ce qui me représente 26 textbox mais à coté de celles ci il y a 13 autres textbox qui serviront à faire apparaitre le rapport des réclamations par le tonnage donc un résultat. je veux que dans ma base de données n'apparaissent que les réclamations et le tonnage mais pas le résultat.
    Je sais pas trop si je suis plus claire, si vous voulez plus d'info il n'y a pas de probleme.
    Merci beaucoup
    Jamelie

  6. #6
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Points : 733
    Points
    733
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub CdBSave1_Click()
    Dim i As Integer
    For Each ctrl In Reclam.Controls
    If TypeOf ctrl Is MSForms.TextBox Then
    if ctrl.tag =1 
          i = i + 1
          Worksheets("BDD1").Cells(2, (2 + i)) = ctrl
    End If
    End If 
    Next
    UserForm1.Hide
    End Sub
    Met l'option Tag du controle text a 1 pour les controles a garder Je suis génial lol:
    N'oubliez pas de mettre le

  7. #7
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 73
    Points : 41
    Points
    41
    Par défaut
    vous allez penser que je suis tres chiante mais j'ai encore une autre contrainte. maintenant que j'ai réussi à selctionner l'onglet comment je fais si je veux que certaines données (textbox )se classent dans excel et pas d'autres?
    parce que j'ai 26 textbox à remplir dans cet onglet et 13 autres qui se remplissent toutes seules par le résultat de la différence des deux autres. je veux que les 26 données apparaissent sous excel mais pas les 13 autres.
    Désolée d'etre aussi compliquée.
    Merci de votre aide
    Jamelie

  8. #8
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Points : 733
    Points
    733
    Par défaut
    Alors a mon avis faudra coder controle par control, plus dans une boucle...
    N'oubliez pas de mettre le

  9. #9
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 73
    Points : 41
    Points
    41
    Par défaut
    ouai.. bah j'ai rien compris;désolée j'ai l'impression que c'est du chinois la. c'est pas grave je vais essayer autrement.
    merci quand même.
    Jamelie

  10. #10
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Comment sont créés tes textbox ? En dynamique ?

    A+

  11. #11
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 73
    Points : 41
    Points
    41
    Par défaut
    en dynamique ca veut dire ?
    je les ai crée à partir de la boite à outil controle. je sais pas si c'est ce que vous vouliez savoir.

  12. #12
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Donc, tu les as créées "en dur" et tu connais le nom de celles dont tu veux recopier les valeurs sur la feuille Excel.
    Tu crées un tableau de leurs noms et tu ne copies les données que des seuls textbox du tableau.

    Tu dis... mais j'ai besoin de me restaurer... Ce sera après le repas si personnes ne passe par là

    A+

  13. #13
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 73
    Points : 41
    Points
    41
    Par défaut
    oui c'est exactement ca.
    mon tableau excel est crée.
    j'ai changé le code par rapport à ce qui a été ecrit plus haut
    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
     
    Private Sub CdBSave1_Click()
    With BDD1
     Cells(1, 0).Formula = RECAnnée.Text
     Cells(1, 1).Formula = RECMois.Text
     Cells(1, 2).Formula = REC1.Text
     Cells(1, 3).Formula = REC2.Text
     Cells(1, 4).Formula = REC3.Text
     Cells(1, 5).Formula = REC4.Text
     Cells(1, 6).Formula = REC5.Text
     Cells(1, 7).Formula = REC6.Text
     Cells(1, 8).Formula = REC7.Text
     Cells(1, 9).Formula = REC8.Text
    ...
     Cells(1, 28).Formula = REC27.Text
    End With
    UserForm1.Hide
    End Sub
    mais la il me dit qu'il y a une erreur : objet requis
    et je sais pas ce que je dois mettre.
    puis je veux que sur la ligne ou s'inscrit les donnée, l'année et le mois( qui ont été selectionné avant dans une autre interface) apparaissent .

    Moi aussi je vais manger donc à toute.
    Jespere que je suis un ti peu plus claire.
    merci de votre aide.
    jamelie

  14. #14
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Points : 733
    Points
    733
    Par défaut
    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
     
    Private Sub CdBSave1_Click()
    With Worksheets("BDD1") 
     .Cells(1, 0).Formula = RECAnnée.Text
     .Cells(1, 1).Formula = RECMois.Text
     .Cells(1, 2).Formula = REC1.Text
      .Cells(1, 3).Formula = REC2.Text
      .Cells(1, 4).Formula = REC3.Text
      .Cells(1, 5).Formula = REC4.Text
      .Cells(1, 6).Formula = REC5.Text
      .Cells(1, 7).Formula = REC6.Text
      .Cells(1, 8).Formula = REC7.Text
      .Cells(1, 9).Formula = REC8.Text
    ...
      .Cells(1, 28).Formula = REC27.Text
    End With
    UserForm1.Hide
    End Sub
    N'oubliez pas de mettre le

  15. #15
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Tu fais "With BDD1"
    C'est quoi BDD1 ? Pour l'utiliser, il faut que l'instance soit faite dans la procédure en cours, à moins que tu aies déclaré ça en public dans un module, avant d'ouvrir ta form

    Tu dis

    A+

  16. #16
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 73
    Points : 41
    Points
    41
    Par défaut
    BDD1 c'est la feuille excel sur laquelle doit arriver mes donnée. J'ai changé le début du code comme me la dit Vesta. Mais ca me met toujours la même erreur:objet requis.
    Merci de votre aide c'est super sympa

  17. #17
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Points : 733
    Points
    733
    Par défaut
    BDD1 c'est le nom de sa feuille d'ou ma réponse...

    Regarde le code un rien plus haut...
    N'oubliez pas de mettre le

  18. #18
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Ok, alors relis mon message plus haut ce que je dis à propos de l'instanciation de la feuille ou écris ce qu'a mis Vesta
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With Worksheets("BDD1")
    A+

  19. #19
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 73
    Points : 41
    Points
    41
    Par défaut
    j'ai ecri ce que ma dit vesta mais ca marche pas. je comprend pas ce qu'est l'instanciation de la feuille ou le fait que je doive déclarer ca dans un module.

  20. #20
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Essaie ça

    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
     Private Sub CdBSave1_Click()
    With Worksheets("BDD1")
        Cells(1, 0).Formula = RECAnnée.Text
        Cells(1, 1).Formula = RECMois.Text
        Cells(1, 2).Formula = REC1.Text
        Cells(1, 3).Formula = REC2.Text
        Cells(1, 4).Formula = REC3.Text
        Cells(1, 5).Formula = REC4.Text
        Cells(1, 6).Formula = REC5.Text
        Cells(1, 7).Formula = REC6.Text
        Cells(1, 8).Formula = REC7.Text
        Cells(1, 9).Formula = REC8.Text
    '...
     Cells(1, 28).Formula = REC27.Text
    End With
    DoEvents
    UserForm1.Hide
    End Sub
    J'ai simplement ajouté DoEvents
    Le nom de ta feuille est bien BDD1 ? BDD1 n'est pas une variable ?

    A+

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [AC-2007] Exporter des données d'une requete vers Excel
    Par theBinette dans le forum VBA Access
    Réponses: 3
    Dernier message: 20/10/2010, 17h00
  2. Copier des données d'une appli vers Excel : solutions
    Par nicolas_isi dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 14/06/2010, 17h52
  3. extraction de données d'une listbox vers excel
    Par miiimou dans le forum Windows Forms
    Réponses: 1
    Dernier message: 28/02/2010, 14h59
  4. transfert de données d'une table vers excel
    Par choupine dans le forum Oracle
    Réponses: 2
    Dernier message: 19/03/2007, 10h13
  5. Exporter les données d'une flexgrid vers Excel
    Par ecarbill dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 16/08/2006, 18h06

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