Autres Exporter listview après un filtrage? bugge (2007)

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

geraldvc

XLDnaute Junior
Bonjour à tout le monde!
Voici un code que j'ai déjà utilisé par le passé mais dans ce cas, il ne fonctionne pas. Il bugge à la dernière ligne!
Je n'ai qu'une ligne de ma listview qui va sur ma feuille!
A votre avis que se passe t'il?
Pour mieux comprendre je joints le fichier.
Si je fais un filtre sur Numéro du devis, ça fonctionne! et quant je veux réimprimer un devis bugge?????(CommandButton5)


Dim Ligne As Integer, i As Integer, C As Integer
With Sheets("listedevis2")
Ligne = Sheets("listedevis2").Range("a65536").End(xlUp).Row
With ListView1
For i = 1 To .ListItems.Count
Sheets("listedevis2").Cells(Ligne + i, 1) = (.ListItems(i).Text)
For C = 1 To .ColumnHeaders.Count - 1
Sheets("listedevis2").Cells(Ligne + i, C + 1) = (.ListItems(i).ListSubItems(C).Text)

Next C
Next i
End With
End With


Merci,Merci,Merci,Merci,
 

Pièces jointes

Bonsoir
Bonsoir JM
ton problème vient de ta boucle sur les Colonnes
j'ai mis ColumnHeaders.Count - 2 et ça semble fonctionner
VB:
For C = 1 To .ColumnHeaders.Count - 2 'Ici
 Sheets("listedevis2").Cells(Ligne + i, C + 1) = (.ListItems(i).ListSubItems(C).Text) ' le 1 envois au nombre de colonne dans la feuille
Next C
Y'a beaucoup de choses qui pourraient être modifiées !
Bonne fin de Soirée
Jean marie
 
Bonsoir
Bonsoir JM
ton problème vient de ta boucle sur les Colonnes
j'ai mis ColumnHeaders.Count - 2 et ça semble fonctionner
VB:
For C = 1 To .ColumnHeaders.Count - 2 'Ici
 Sheets("listedevis2").Cells(Ligne + i, C + 1) = (.ListItems(i).ListSubItems(C).Text) ' le 1 envois au nombre de colonne dans la feuille
Next C
Y'a beaucoup de choses qui pourraient être modifiées !
Bonne fin de Soirée
Jean marie
Un tout grand merci, je ne sais comment vous remercier. Génial
 
Bonjour Gerald
N'hésite pas si besoin
y'a beaucoup de Chose à Changer ,à simplifier etc etc
exemple dans la Procédure Initialize du Userform
VB:
For i = 2 To Sheets("Devis2").Range("B65536").End(xlUp).Row
          Set LstVI = .ListItems.Add(, "K" & i, Sheets("Devis2").Cells(i, 1))  '1ère Colonne
           With LstVI
                  .ForeColor = IIf(.Text = "P", &HFF0000, &H80000008)
              For Col = 2 To 19
                   Set LstVSi = .ListSubItems.Add(, , Sheets("Devis2").Cells(i, Col)) ' 2ème Colonne
                LstVSi.ForeColor = IIf(LstVI.Text = "P", &HFF0000, &H80000008)
              Next Col
                  .ListSubItems.Add , , i 'On récupére la Ligne source
            End With
Avec en déclaration
Dim LstVi As ListItem
Dim LstVSi As ListSubitem
ce qui pourrait encore être simplifié , si l'on passait par un Tableau (structuré ou pas ) Lol
Bonne journée
Jean marie
 
Dernière édition:
Bonjour Gerald
N'hésite pas si besoin
y'a beaucoup de Chose à Changer ,à simplifier etc etc
exemple dans la Procédure Initialize du Userform
VB:
For i = 2 To Sheets("Devis2").Range("B65536").End(xlUp).Row
          Set LstVI = .ListItems.Add(, "K" & i, Sheets("Devis2").Cells(i, 1))  '1ère Colonne
           With LstVI
                  .ForeColor = IIf(.Text = "P", &HFF0000, &H80000008)
              For Col = 2 To 19
                   Set LstVSi = .ListSubItems.Add(, , Sheets("Devis2").Cells(i, Col)) ' 2ème Colonne
                LstVSi.ForeColor = IIf(LstVI.Text = "P", &HFF0000, &H80000008)
              Next Col
                  .ListSubItems.Add , , i 'On récupére la Ligne source
            End With
Avec en déclaration
Dim LstVi As ListItem
Dim LstVSi As ListSubitem
ce qui pourrait encore être simplifié , si l'on passait par un Tableau (structuré ou pas ) Lol
Bonne journée
Jean marie
merci beaucoup ,cela fonctionne bien maintenant. la simplification des code ,,,je suis pas encore au point merci merci merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
250
Réponses
4
Affichages
362
Réponses
5
Affichages
496
Retour