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 :

encore quelques petites questions


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 35
    Par défaut encore quelques petites questions
    merci a silkyroad pour son aide
    j'ai encore bcp de questions

    j'ai une liste dans mon userform

    1- quand je choisi un nom je veux que les données aillent dans une feuille specifique
    2- comment fait on pour que ce qu'on choisit dans l'userform aillent dans une feuille

    ok ok je vais essayer d'etre plus clair

    j'ai plusieurs items principaux ex : tennis, ping pong, squash etc....
    donc des feuilles nommées tennis, pingpong, squash ect..

    si je choisi le tennis je veux que toutes les données que je saisi dans userform aillent dans la feuille tennis

    si je choisi ping pong je veux que toutes les données que je saisi dans l'userform aillent dans la feuille ping pong

    Maintenant si ca ok !! comment faire pour que les données de l'userform s'inscrivent dans les cases prévues dans chaques feuilles

    si vous avez compris vous avez le droit a la medaille

    d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 674
    Par défaut
    bonsoir,
    je suppose que les éléments que tu veux bouger dans la feuille sont dans une liste, et le nom de la feuille dans une autre, et que ton transfert se fait apres click sur bouton.

    Je propose une idée comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    cpteur = 1
    for i = 0 to listeelement.listcount -1
     if listeelement.selected(i) then
             worksheets(listefeuille.value).range("a" & cpteur) = listeelement.list(i).value 
            cpteur = cpteur +1
    end if
    next i
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Si tu veux sélectionner la feuille choisie dans la listbox

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets(ListBox1.Text).Select
    Ensuite tu mets ton code de copie des données a ajouter

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 35
    Par défaut desolé !!!
    j'ai pas trop compris ce que vous me dites

    j'ai dans un listbox trois item principaux tennis, ping pong squash
    ensuite j'ai d'autres items ex raquette, balle, chaussure

    une fois que j'ai tout rempli

    en fonction de ce que j'ai mis dans l'item principal il va remplir la feuille correspondante (tennis , ping, squash)

    dans les trois feuilles j'ai les champs de colonne raquette, ping, squash

    je sais pas si c'est ce que vous avez compris ??

    si vous pouviez me donner un peu plus de details (je debute )


  5. #5
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Inspire toi de ce code


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    With Sheets(ListBox1.Text)
        .range("A2").value=Listbox2.text
        .range("B2").value=ListBox3.Text
        .range("C2").value=ListBox1.Text
     
    End With
    Si ca ne convient pas, envoi nous une bout de ton fichier

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 674
    Par défaut
    mon code sert a tester si tu as sélectionner un ou plusieurs éléments dans ta listbox [tennis/ping/squash] et si c'est le cas, va mettre dans la colonne A de la feuille en question l'element choisi [raquette/balle].

    pour ton histoire de champs, j'ai pas pigé...
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 35
    Par défaut fichier joint...
    voici un bout du fichier

    il y a un soucis au demarrage c'est normal j'ai enleve des elements pour aleger

    le mot de passe macro est : ***

    Fichiers attachés Fichiers attachés

  8. #8
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 674
    Par défaut
    merci,
    bon alors plusieurs petits conseils pour le futur :
    - indente ton code, c'est illisible
    - un userform est plus agréable avec un bouton quitter

    dans ton evenement button1_click tu utilises le code que j'ai donné plus haut en remplacant listeelement par combobox1
    le reste est donné par jfontaine
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  9. #9
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Code a mettre dans le click de ton bouton validation

    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
     
    Private Sub CommandButton1_Click()
     
    Dim i As Long
    i = 1
     
    With Sheets(ComboBox1.Text)
        .Select
     
        'recherche de la premiere ligne vide
        Do While .Range("A" & i).Value <> ""
            i = i + 1
        Loop
     
        'Ajout les données
        .Range("A" & i).Value = TextBox30.Text
        .Range("B" & i).Value = TextBox5.Text
        .Range("C" & i).Value = Tbclient.Text
     
    End With
     
    End Sub
    Attention, dans la feuille donnée, ping pong est en 2 mots alors que la feuille en contient que 1

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 35
    Par défaut merci
    il m'indique erreur de compilation ?

    juste pour information, ou se trouve l'info qui indique sur quelles feuilles il doit aller

  11. #11
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Code de la feuille de destination
    Ce code fonctionne tres bien sur mon poste.
    Sur quelle ligne il bloque

  12. #12
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 674
    Par défaut
    dans combobox1, c'est à quelle ligne l'erreur, tu as pensé a virer l'autre private sub commandbutton1_click ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 35
    Par défaut
    est ce que je dois remplacer text par le nom de la feuille ?

    il me met l'erreur qui est en rouge


    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
    Private Sub CommandButton1_Click()
    
    
    Dim i As Long
    i = 1
     
    With Sheets(ComboBox1.Text)
        .Select
        
        'recherche de la premiere ligne vide
        Do While .Range("A" & i).Value <> ""
            i = i + 1
        Loop
     
        'Ajout les données
        .Range("A" & i).Value = TextBox30.Text    .Range("B" & i).Value = TextBox5.Text
        .Range("C" & i).Value = Tbclient.Text
     
    End With

  14. #14
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Fait attention de bien revenir a la ligne apres le textbox30.text
    Sinon, le textbox30 sur le fichier que tu as mis a dispo c'est la textbox correspondant à Raquette. Ce n'est pas très parlant. Faudrait penser avant de coder a mettre des noms reconnaissable aux objets

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 35
    Par défaut peux tu regarger
    bonjour,

    j'ai inserer le code mais je ne comprends pas tout

    peut tu m'aider STP

    d'avance
    Fichiers attachés Fichiers attachés

  16. #16
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Regardes au niveau de tes textbox, tu as changé les noms. Donc le code plus haut ne fonctionne plus.
    Adapte le code en fonction des noms

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        .Range("A" & i).Value = TextBox30.Text 'Raquette est devenu TextBox31
        .Range("B" & i).Value = TextBox5.Text   'Balle
        .Range("C" & i).Value = Tbclient.Text    'Chaussure est devenu TextBox30

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

Discussions similaires

  1. quelques petites questions
    Par la debutante dans le forum Windows
    Réponses: 1
    Dernier message: 20/12/2006, 10h08
  2. quelques petites questions sur les windows form
    Par natasha84 dans le forum C++/CLI
    Réponses: 22
    Dernier message: 25/05/2006, 23h14
  3. Quelques petites questions sur le shell
    Par Badaboumpanpan dans le forum Linux
    Réponses: 8
    Dernier message: 01/04/2006, 01h09
  4. Encore une petite question sur les sockets...
    Par damien99 dans le forum MFC
    Réponses: 4
    Dernier message: 15/02/2006, 15h22
  5. [Tk] Quelques petites questions
    Par Damian dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 06/02/2006, 17h34

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