Ventilation de plages de donnees
bonjour à tous les ferrus de vba,
Je viens une fois de plus vers vous car je suis completement noyé (rire).
j ai essayé tant bien que mal de composer la deuxieme macro de ma vie, et je vois bien que le chemin est encore tres long avant d'arriver à quelque chose de serieux,
pourtant aujourd'hui j en ai vraiment besoin pour mon travail.
dans le fichier qui est joint, vous pourrez voir qu'il y a trois feuilles: recap, francois et albert.
mon but dans la macro que j ai faite est de :
copier les plages de donnees de la feuille recap (par trimestre) là j ai deja un soucis de selection....
et ensuite suivant une condition qui est : si meme nom d onglet et meme nom de cellule, alors
tu copies la selection et tu la colles dans la feuille correspondante et dans les cellules correspondantes
et là ca coince encore
je vous remercie de l'attention que vous porterez à mon souci qui pour moi devient insurmontable.
bonne journée à tous
Bonjour jeannoel05,
pas besoin de macro.
Après si tu souhaites vraiment une macro y a moyen aussi.
Cordialement.
Bonjour,
J'imagine que dans votre vrai tableau, françois a 1 seule ligne dans le récap et albert aussi, sinon je ne comprends pas bien ce que vous voulez faire.
Je n'ai pas bien compris non plus la logique de votre macro. Je vous propose celle-là :
Sub ventilation()
Dim j As Integer
derniereligne = Sheets("recap").Range("b65000").End(xlUp).Row
For j = 2 To derniereligne
onglet = Cells(j, 2).Value
Sheets(onglet).Range("B3").Value = Sheets("recap").Cells(j, 3).Value
Sheets(onglet).Range("C3").Value = Sheets("recap").Cells(j, 4).Value
Sheets(onglet).Range("D3").Value = Sheets("recap").Cells(j, 5).Value
Sheets(onglet).Range("B5").Value = Sheets("recap").Cells(j, 6).Value
Sheets(onglet).Range("C5").Value = Sheets("recap").Cells(j, 7).Value
Sheets(onglet).Range("D5").Value = Sheets("recap").Cells(j, 8).Value
Sheets(onglet).Range("B7").Value = Sheets("recap").Cells(j, 9).Value
Sheets(onglet).Range("C7").Value = Sheets("recap").Cells(j, 10).Value
Sheets(onglet).Range("D7").Value = Sheets("recap").Cells(j, 11).Value
Sheets(onglet).Range("B9").Value = Sheets("recap").Cells(j, 12).Value
Sheets(onglet).Range("C9").Value = Sheets("recap").Cells(j, 13).Value
Sheets(onglet).Range("D9").Value = Sheets("recap").Cells(j, 14).Value
Next
End Sub
Je vous joins également votre fichier avec la macro.
Est-ce le résultat que vous attendiez?
Cindy
Bonjour Jean, le forum,
je te retourne ton fichier modifié :
* sur la 3ème feuille, note que y'a aucun nombre ; sur la 2ème feuille : idem
* va sur la 1ère feuille ; fais Ctrl e (ou clic / bouton) ; va voir les résultats.
Alt F11 pour voir le code VBA, puis revenir sur Excel
si besoin, tu peux demander une adaptation.
merci de me dire si ça te convient.
dhany
tout d'abord bonjour et un grand merci pour ces deux macros...
en fait, j ai du d'abord (dans la feuille (recap) effacer les lignes pour ne garder en colonne b que deux prenoms: francois et albert.
en changeant les chiffres la macro remplies les feuilles"francois et albert" formidablement... merci encore
et puis je dois vous avouer que je vais transformer legerement cette macro... enfin essayer
mon tableau general pour le taff correspond tout a fait a ce que vous avez créé (comme macro)
je vous montre a feuille (recap)
lieu noms janvier fevrier mars total avril mai juin total juillet aout septembre total octobre novembre decembre total
ensuite chaque nom correspond à une feuille d'ou francois et albert (en vrai j'ai 60 noms)
donc je peux maintenant saisir dans la feuille recap et ventiler sur chaque feuille appropriées,
ces feuilles individuelles n'ont pas la meme mise en forme, c etait bien mon deuxieme probleme...
eh bien pour tout ca; je vous remercie vivement du partage de votre savoir...
bonne journée à tous les deux
Jean-Noel
merci pour ton retour d'infos ; pour passer le sujet en résolu, clique sur près de (coin haut droit du post) ➯
ça permet aussi de clôturer le fil de la discussion (toi seul peut le faire, car c'est toi qui a créé ce sujet).
dhany