Macro pour Excel

Résolu
schpop12 Messages postés 51 Statut Membre -  
schpop12 Messages postés 51 Statut Membre -
Salut,

Je cherche a écrire une macro mais je suis débutant.
Dans un premier tableau de A1 à A15 j'ai l'identifiant de mes valeurs. A chaque identifiant correspond des paramétres il y en a 5 pour chaque ID.

J'ai une liste déroulante, en A20, qui me permet de choisir mon identifiant, quand je choisis l'identifiant de ma ligne A3 je veut que ma ligne soit copier en A22.
En tout j'ai 15 ID je veut juste avoir a sélectionné l'ID et que ma ligne correspondante ce copie toute seule.

Merci d'avance a celui qui a une solution
Configuration: Windows 2000
Internet Explorer 6.0

5 réponses

  1. Fxbrg Messages postés 715 Statut Membre 199
     
    Salut,

    Si je comprends bien : quand tu sélectionnes une valeur de ta liste A20, ta ligne 22 doit afficher la ligne de ton tableau A1:F15 dont la valeur dans la colonne A est égale à celle de la cellule A20?... Si c'est le cas, alors pas besoin de macro, un rechercheV fait l'affaire...

    Par exemple en B22 :
    =rechercheV(a20;a1:f15;2;)
    0
  2. amigo
     
    Salut,

    Ce code devrait resoudre ton problème, à supposer que ta liste déroulante s'appelle ComboBox1.
    En mode création, clic droit sur le controle, -> Visualiser le code
    Remplace le code proposé par celui qui suit.
    De retour sur la feuille Excel, enlève le mode création, le controle est opérationnel. Salut.

    Private Sub ComboBox1_Change()
    Dim l As Integer
        l = ComboBox1.ListIndex + 1
        Rows(l).Select
        Selection.Copy
        Range("A22").Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
        Range("A22").Select
    End Sub
    
    0
  3. schpop12 Messages postés 51 Statut Membre 6
     
    salut merci encore pour les réponses

    j'ai réussi a écrire mais ca ce lance pas tout seul. Je vai essayer ta méthode amigo. J'ai du adapter les cellules a mes besoin ca correspond plus tout a fait.

    Comment on passe en mode création? Désolé je suis vraiment nul.

    Sub CopieBV()

    If Range("B41").Value = "BV1" Then
    Range("C12:I12").Select
    Selection.Copy
    Sheets("Assemblage de bassins").Select
    Range("C44").Select
    ActiveSheet.Paste
    End If

    If Range("B41").Value = "BV2" Then
    Range("C13:I13").Select
    Selection.Copy
    Sheets("Assemblage de bassins").Select
    Range("C44").Select
    ActiveSheet.Paste
    End If

    If Range("B41").Value = "BV3" Then
    Range("C14:I14").Select
    Selection.Copy
    Sheets("Assemblage de bassins").Select
    Range("C44").Select
    ActiveSheet.Paste
    End If

    If Range("B41").Value = "BV4" Then
    Range("C15:I15").Select
    Selection.Copy
    Sheets("Assemblage de bassins").Select
    Range("C44").Select
    ActiveSheet.Paste
    End If

    If Range("B41").Value = "BV5" Then
    Range("C16:I16").Select
    Selection.Copy
    Sheets("Assemblage de bassins").Select
    Range("C44").Select
    ActiveSheet.Paste
    End If

    If Range("B41").Value = "BV6" Then
    Range("C17:I17").Select
    Selection.Copy
    Sheets("Assemblage de bassins").Select
    Range("C44").Select
    ActiveSheet.Paste
    End If

    If Range("B41").Value = "BV7" Then
    Range("C18:I18").Select
    Selection.Copy
    Sheets("Assemblage de bassins").Select
    Range("C44").Select
    ActiveSheet.Paste
    End If

    If Range("B41").Value = "BV8" Then
    Range("C19:I19").Select
    Selection.Copy
    Sheets("Assemblage de bassins").Select
    Range("C44").Select
    ActiveSheet.Paste
    End If

    If Range("B41").Value = "BV9" Then
    Range("C20:I20").Select
    Selection.Copy
    Sheets("Assemblage de bassins").Select
    Range("C44").Select
    ActiveSheet.Paste
    End If

    If Range("B41").Value = "BV10" Then
    Range("C21:I21").Select
    Selection.Copy
    Sheets("Assemblage de bassins").Select
    Range("C44").Select
    ActiveSheet.Paste
    End If

    End Sub
    0
    1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
       
      Salut,

      Pour le même résultat essaies cette macro à partir de ton menu déroulant passes en mode création et colle cette macro

      Private Sub ComboBox1_Change()
      Dim l As Integer
      l = ComboBox1.ListIndex + 1
      Rows(l).Select
      Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0, 8)).Select
      Selection.Copy
      Range("C44").Select
      ActiveSheet.Paste
      Application.CutCopyMode = False

      End Sub


      A+
      0
  4. amigo
     
    Re,

    Passer en mode création:
    Menu Affichage > Barre d'outils > Visual Basic
    Dans la barre d'outils il ya un bouton avec une regle et une equerre. Enfoncé, on a acces aux propriétés des controles qui sont sur la feuille. Relevé, les controles réagissent aux évènements ( clic , change, ...)

    Salut.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. schpop12 Messages postés 51 Statut Membre 6
     
    Ok merci pour votre aide

    La j'ai réussit ma macro et je l'ai automatisé vu que ce marche je vais plus y touché.

    Encore merci pour vos conseil
    0