Autres TRANSFER PARTICULIER

Seddiki_adz

XLDnaute Junior
BONJOUR
J'AI BESOIN D'AIDE
J'AI UN TABLEAU CONTIENT NOMBRES D'HEURES ET MATIÈRES ET CLASSES ET PROFS
ET LE 2 TABLEAU CONCILIENT LES JOURS ;......
je cherche un code qui me donne les résulta suivantes
si la classes 1l1 a 3 heures de maths dans le tableau 2 il me donne 3 fois la classes 1l1 et trois fois le prof math1
si la classes 1s1 a 3 heures de maths dans le tableau 2 il me donne 6 fois la classes 1s1 et 6 fois le prof math3
 

Fichiers joints

sousou

XLDnaute Accro
bonjour
tu peux essayer ceci
Sub compte()
With Sheets(1)
lg = 2
Set classes = .Range(.Cells(2, 9), .Cells(.Cells(.UsedRange.Count, 9).End(xlUp).Row, 9))
classes.Select
For Each i In classes
For n = 1 To i.Offset(0, 2).Value
.Cells(lg, 2) = i
.Cells(lg, 4) = i.Offset(0, -1)
.Cells(lg, 5) = i.Offset(0, 1)
lg = lg + 1
Next
Next


End With
End Sub
 

sousou

XLDnaute Accro
Bonjour.
Ce forum étant fait pour apprendre, je pense que tu aurais pu faire un petit effort pour modifier par toi même le code.
Bon! remplace tout le code par ceci et essaie de voir le fonctionnement ce qui te permettra de te débrouiller à l'avenir
Const colprofs = 2, destcolprofs = 8, destcolclass = 10, destcolmat = 11
Sub compte()

With Sheets(2)
lg = 2
Set classes = .Range(.Cells(2, colprofs), .Cells(.Cells(.UsedRange.Count, colprofs).End(xlUp).Row, colprofs))
classes.Select
For Each i In classes
For n = 1 To i.Offset(0, 2).Value
.Cells(lg, destcolprofs) = i
.Cells(lg, destcolmat) = i.Offset(0, -1)
.Cells(lg, destcolclass) = i.Offset(0, 1)
lg = lg + 1
Next
Next


End With
End Sub
 

Discussions similaires


Haut Bas