Afficher plusieurs lignes par enregistrement

2susy

XLDnaute Junior
Bonjour le forum,

Je souhaite afficher une ligne par formation effectuée pour chaque personne dans une nouvelle feuille.
Je sais le faire avec une listbox, mais là, vu le format du fichier à exploiter (qui n'est pas le mien à la base), je suis un peu perdue !

ci-joint le fichier en question,
merci de votre aide !!
 

Pièces jointes

  • MacroFormation.xls
    47.5 KB · Affichages: 51

bqtr

XLDnaute Accro
Re : Afficher plusieurs lignes par enregistrement

Bonjour 2susy,

Test cette macro :

Code:
Sub Extract_Valeur()

Dim Tablo, Lign As Long, k As Long, m As Byte

Lign = Sheets("History").Range("B65536").End(xlUp).Row
Tablo = Sheets("Matrice").Range("A5:O" & Sheets("Matrice").Range("A65536").End(xlUp).Row)
Application.ScreenUpdating = False
With Sheets("History")
 For k = 1 To UBound(Tablo)
   For m = 10 To 15
     If Tablo(k, m) <> "" Then
       .Cells(Lign, 2) = Tablo(k, 2)
       .Cells(Lign, 3) = Tablo(k, 1)
       .Cells(Lign, 5) = "Formation n° " & m - 9
       .Cells(Lign, 7) = Tablo(k, m)
       .Cells(Lign, 7).NumberFormat = "mm/yy"
       Lign = Lign + 1
     End If
   Next
 Next
End With
Application.ScreenUpdating = True
    
End Sub
Les données de la feuille Matrice sont mises dans un tableau.
On boucle sur chaque ligne du tableau et sur les colonnes 10 à 15 de la dite ligne. Si la colonne est non vide on extrait les éléments souhaités sur la feuille History.

A+
 

Discussions similaires

Réponses
21
Affichages
463
Réponses
6
Affichages
143

Statistiques des forums

Discussions
312 492
Messages
2 088 925
Membres
103 984
dernier inscrit
maliko67