lelectricien
XLDnaute Junior
Madame Monsieur Bonjour,
Alors tout d'abord bonjour à toutes et à tous, je viens juste de m'inscrire sur votre site mais je ne sais où je dois me présenter.
Cela fait quelques semaines (+/-2 mois) que je visite régulièrement votre site car je m'intéresse de plus en plus à Excel (& Visual) et je dois dire qu'après avoir visité plusieurs sites, à mon sens, le votre me convient.
En ce moment j'ai un problème, je vous explique:
J'ai créé une macro avec une listbox multiselect. J'ai fait en sorte que quand je lance ma macro, une feuille excel apparait. Ainsi qu'une listbox. Quand je selectionne des lignes dans ma listbox, ces lignes sont reportées sur la feuille Excel. Et quand je selectionne d'autres lignes, elles sont ajoutées en plus de ce que j'ai déjà selectionné.
Tout le temps que je selectionne des lignes dans le userform, ces lignes sont reportées lignes après lignes dans la feuille. Jusque la tout va bien.
MAIS, quand je quitte l'userform, et que je le rappelle (via bouton accès rapide), et que je selectionne des nouvelles lignes, les lignes selectionnées sont recopiées sur les MEMES lignes que j'avais déjà sélectionné.
Voila la partie "importante" du code de l'userform :
Private Sub CommandButton1_Click()
ActiveWindow.WindowState = xlMaximized
Dim k As Integer, i As Integer, x As Byte
i = i + 1
'De la première ligne de la listbox à la dernière
For k = 0 To ListBox1.ListCount - 1
'Si une ligne est sélectionnée
If ListBox1.Selected(k) Then
'Avec la feuille où tu souhaites placer les données
With Sheets("feuil1")
'De la première colonne à la dernière colonne de la listbox
For x = 0 To 40
'Copie des données de la cellule A1 à J1 pour la première ligne sélectionnée dans la listbox
.Cells(i + 10, x + 1) = ListBox1.List(k, x)
Next
'Incrémente la variable I de +1 pour passer à la ligne suivante (A2:J2) dans la feuille si tu as
'plusieurs ligne de la listbox à tranférer
i = i + 1
End With
End If
Next
End Sub
Ce que je souhaite, c'est que quand je quitte l'userform, et que je le rapelle, et que je selectionne à nouveau des lignes, que ces lignes soient recopiées en DESSOUS de ce qui a déjà été copié.
Pouvez-vous m'aider?
Merci d'avance.
Bien à vous.
Alors tout d'abord bonjour à toutes et à tous, je viens juste de m'inscrire sur votre site mais je ne sais où je dois me présenter.
Cela fait quelques semaines (+/-2 mois) que je visite régulièrement votre site car je m'intéresse de plus en plus à Excel (& Visual) et je dois dire qu'après avoir visité plusieurs sites, à mon sens, le votre me convient.
En ce moment j'ai un problème, je vous explique:
J'ai créé une macro avec une listbox multiselect. J'ai fait en sorte que quand je lance ma macro, une feuille excel apparait. Ainsi qu'une listbox. Quand je selectionne des lignes dans ma listbox, ces lignes sont reportées sur la feuille Excel. Et quand je selectionne d'autres lignes, elles sont ajoutées en plus de ce que j'ai déjà selectionné.
Tout le temps que je selectionne des lignes dans le userform, ces lignes sont reportées lignes après lignes dans la feuille. Jusque la tout va bien.
MAIS, quand je quitte l'userform, et que je le rappelle (via bouton accès rapide), et que je selectionne des nouvelles lignes, les lignes selectionnées sont recopiées sur les MEMES lignes que j'avais déjà sélectionné.
Voila la partie "importante" du code de l'userform :
Private Sub CommandButton1_Click()
ActiveWindow.WindowState = xlMaximized
Dim k As Integer, i As Integer, x As Byte
i = i + 1
'De la première ligne de la listbox à la dernière
For k = 0 To ListBox1.ListCount - 1
'Si une ligne est sélectionnée
If ListBox1.Selected(k) Then
'Avec la feuille où tu souhaites placer les données
With Sheets("feuil1")
'De la première colonne à la dernière colonne de la listbox
For x = 0 To 40
'Copie des données de la cellule A1 à J1 pour la première ligne sélectionnée dans la listbox
.Cells(i + 10, x + 1) = ListBox1.List(k, x)
Next
'Incrémente la variable I de +1 pour passer à la ligne suivante (A2:J2) dans la feuille si tu as
'plusieurs ligne de la listbox à tranférer
i = i + 1
End With
End If
Next
End Sub
Ce que je souhaite, c'est que quand je quitte l'userform, et que je le rapelle, et que je selectionne à nouveau des lignes, que ces lignes soient recopiées en DESSOUS de ce qui a déjà été copié.
Pouvez-vous m'aider?
Merci d'avance.
Bien à vous.
lelectricien.