Listbox activex

Bonjour

bon étant toujours débutant, je vous fait part de mon problème:

J’essaie de copier coller des valeurs de certeines colonnes dans une listbox controle activex, et j’y arrive pas !! (ça ne m’affiche pas les bonnes valeurs: j'ai l'impression que ca me copie les cellules de la mauvaises feuille et dune ligne en dessous de ma target...)

En gros j’ai deux feuilles :

« Feuil1 » : ou je vais changer les valeurs d’une des cellules de la colonne D

« Interactions » : ou je vais copier les valeurs issues de mon choix sur la feuille Feuil1.

Pour plus de précisions:

En « Feuil1 » je retiens les valeurs des colonnes C et D, soit "c "et "d" (ligne ou se situe ma target), pour faire la recherche des valeurs a afficher dans la listbox

En « interactions », je cherche la ligne ou les valeurs "c" et"d" se trouvent et je la copie a partir de la colonne 5 et je la colle dans la listbox

Voila le fichier que j’ai fait:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim ligne As Long

Dim a

Dim b

Dim cel As Range

Dim line As Long

a = Target.Offset(0, -1).Value

'j'enregistre la valeur (texte ou numerique) de la cellule à gauche de celle dont je vais changer la valeur

b = Target.Value

' enregistre la valeur de la cellule dont je change la valeur

Sheets("Interactions").Select 'je me place dans la feuille ou j'ai mon tableau de données

For line = 4 To 46 'pour ligne de 4 à 46 de ce tableau

If a = Worksheets("Interactions").Cells(line, 3).Value And b = Worksheets("Interactions").Cells(line, 4).Value Then

'Si on a la meme combinaison de valeur "a" et "b" à une certine ligne de ce tableau

For Each cel In Range(Cells(line, 5), Cells(line, 19))

'Pour chaque cellule de cette ligne je copie les valeurs si non vides dans ma listbox située sur la feuille "Feuil1"

If cel.Value <> "" Then

Sheets("Feuil1").Select

Worksheets("Feuil1").ListBox1.AddItem cel.Value

End If

Next cel

End If

Next line

End Sub

Pouvez vous m'aider?svp

Cordialement

13guerdon-cp002-3.xlsm (109.38 Ko)

Bonjour

Selon ce que je comprends, tu aimerais activer ta macro lorsque tu changes quelque chose dans la colonne D.

Seulement celle-ci est aussi activée chaque fois qu'une cellule quelconque de 'feuil1' est modidiée. Hors c'est exatement ce que tu fais en fin de macro.

Pour éviter ce problème, il faut contrôler si la cellule modifiée se trouve dans la colonne D. Si ce n'est pas le cas, il faut directement sortir de la macro.

Donc inscrit cette ligne au début de ta macro :

    If Target.Column <> 4 Then Exit Sub

Cela drevrait s'arranger.

Bonne journée

Dan_de_pic

Rechercher des sujets similaires à "listbox activex"