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 :

copier une cellule d'une à une autre après selection dans combobox


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 10
    Points : 5
    Points
    5
    Par défaut copier une cellule d'une à une autre après selection dans combobox
    Bonjour,
    je cherche depuis 2 jours en vain
    j'ai créé une combobox dans laquelle je selectionne une reference de produit
    à coté j'ai mis un bouton commande, et l'idée c'est en cliquant de transferer les données de la ligne correspondant au produit sur une autre feuille dans un encadré qui fera office d'etiquette.
    J'envoie des photos pour mieux me faire comprendre


    sur http://cjoint.com/data/hkjfHa8z1I.htm [ Lien ]
    sur http://cjoint.com/data/hkjhfdsHgl.htm [ Lien ]
    sur http://cjoint.com/data/hkoQCJzWQ0.htm [ Lien ]

    je suis sur une piste mais cela ne marche pas :

    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
    Private Sub CommandButton2_Click()
     
    Dim i As Integer
     
    For i = 0 To ComboBox1.ListCount - 1
     
    If ComboBox1.List(i) = ComboBox1.Value Then
     
    Sheets("stockexcel").Cells(Ai).Value = Sheets("Feuil1").Cells(B1).Value
     
    End If
     
    Next i
     
    End Sub
    je veux transférer de la feuille "stockexcel" à "feuil1"

    merci de m'aider

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 10
    Points : 5
    Points
    5
    Par défaut ca avance
    j'ai du nouveau j'ai réussi mais pour une ligne, je n'arrive pas à mettre ma variable i :

    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
    Private Sub CommandButton2_Click()
     
    Dim i As Integer
     
        For i = 0 To ComboBox1.ListCount - 1
     
            If ComboBox1.List(i) = ComboBox1.Value Then
     
    Worksheets("Feuil1").Range("B1") = Worksheets("stockexcel").Range("A8")
    Worksheets("Feuil1").Range("B2") = Worksheets("stockexcel").Range("B8")
    Worksheets("Feuil1").Range("B3") = Worksheets("stockexcel").Range("E8")
    Worksheets("Feuil1").Range("B4") = Worksheets("stockexcel").Range("F8")
    Worksheets("Feuil1").Range("B5") = Worksheets("stockexcel").Range("G8")
    Worksheets("Feuil1").Range("B7") = Worksheets("stockexcel").Range("H8")
    Worksheets("Feuil1").Range("B8") = Worksheets("stockexcel").Range("I8")
     
     
            End If
     
        Next i
     
    Sheets("Feuil1").Select
     
    End Sub
    je voudrais remplacer le 8 à la fin par une variable qui varie en fonction de la ligne de la combo selectionnée
    mais je sais pas comment ecrire le code

    merci

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 549
    Points : 556
    Points
    556
    Par défaut
    tu fais ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Worksheets("Feuil1").Range("B1") = Worksheets("stockexcel").Range("A" & taLigne)
    la variable taLigne est ta variable qui remplace le 8.. après, à toi de voir comment cette variable est alimentée et incrémentée

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    merci pour la piste
    c'est ce que j'ai essayé de faire au debut du programme avec le "i"
    j'ai remplacé "i" par "maligne" mais il y a erreur 1004

    une idée ?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    C'est bon ca marche !!!!
    merci beaucoup

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 549
    Points : 556
    Points
    556
    Par défaut
    faut alimenter "maLigne"

    n'existe pas
    initialise correctement ta variable et incrémente la comme çà t'arrange et çà devrait fonctionner

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    en fait y'a un dernier petit probleme !
    il me décale tout de 2 lignes au dessus
    exemple : il fait la ligne 65 au lieu de 67

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 549
    Points : 556
    Points
    556
    Par défaut
    çà après, je ne peuxx pas t'aider
    il y a sans doute un problème dans la valeur de tes variables.... à toit chercher pas à pas combien valent tse valeurs etvérifier que c'est bien la valeurque tu attendais

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    oui mai je sai kil decale de 2
    comment je peu lui demandé pour ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For maligne = 0 To ComboBox1.ListCount - 1
     
            If ComboBox1.List(maligne) = ComboBox1.Value Then
    j'aimerai bien pour le if avoir ComboBox.value +2
    tu comprend ?

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 549
    Points : 556
    Points
    556
    Par défaut
    Essaie en faisant ceci et vérifie pas à pas que les données qui t'intéressent ont bien les bonnes valeurs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    msgbox ComboBox1.ListCount & " _  " & ComboBox1.Value
    For maligne = 0 To ComboBox1.ListCount - 1
        msgbox maLigne & " _ " & ComboBox1.List(maligne)
            If ComboBox1.List(maligne) = ComboBox1.Value Then
    Si t sur que c'est +2, tu rajoute +2 dans ton IF et çà devrait marcher

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    je met ca ou ? je supprime des choses avan ?

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 549
    Points : 556
    Points
    556
    Par défaut
    c'est exactement le même bout de code que tu m'as donné, j'y ai juste rajouté des alertes de debuggage pour suivre le valeurs de tes variables

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    ok j'ai compris
    ça décale de 2 mais ce que je ne t'avais pas dit c'est que j'avais 4000 lignes

    il y a un moyen de l'arreté ?

    ok c'est bon
    tu peux m'expliquer comment rajouter +2 au if

    Ctrl + Pause ou Shift + Pause... me rappelle plus

    c'est bon tout marche
    merci beaucoup

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

Discussions similaires

  1. Copier/coller d'une cellule par rapport à une autre
    Par AzelRoth dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/02/2009, 15h54
  2. différencier une cellule vide d'une cellule nulle
    Par schwarzy2 dans le forum VB.NET
    Réponses: 4
    Dernier message: 02/09/2008, 13h50
  3. Copier tout le contenu d'une BD MYSQL sur un autre PC
    Par condor_01 dans le forum Outils
    Réponses: 4
    Dernier message: 06/09/2006, 23h53
  4. incrémenter une cellule jusqu'a une cellule variable
    Par derf3183 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 05/07/2006, 14h48
  5. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24

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