Autres TRANSFER PARTICULIER

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 !

Seddiki_adz

XLDnaute Impliqué
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
 

Pièces jointes

Solution
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
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
 
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
 
- 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

Réponses
4
Affichages
606
Réponses
9
Affichages
503
Réponses
13
Affichages
1 K
Retour