j'ai dans une feuille2 un tableau récapitulatif de données issues de données
dans la feuille1 et sous forme :
janv-08 fev-08 mar-08 avr-08 mai-08
Site1 1 0 0 1 0
Site2 0 1 0 0 1
Site3 0 0 0 0 0
Je souhaiterai obtenir un tableau en feuille3 qui ne contient que les sites
qui ont au moins une valeur égale à 1 sur les mois
dans l'exemple le site 3 ne doit pas apparaitre.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
francois.forcet
Salut à toi<br /> Je te propose ce code :<br /> <br /> Total = 0<br /> Sheets("Feuil3").Cells.Clear<br /> Sheets("Feuil2").Range("A1",<br /> Sheets("Feuil2").Range("IV1").End(xlToLeft)).Copy<br /> Sheets("Feuil3").Range("A1")<br /> For Each c In Worksheets("Feuil2").Range("A2", "A" &<br /> Sheets("Feuil2").Range("A65535").End(xlUp).Row)<br /> For i = 2 To Range("IV1").End(xlToLeft).Column<br /> Total = Total + Cells(c.Row, i).Value<br /> Next<br /> If Total >= 1 Then<br /> c.EntireRow.Copy Sheets("Feuil3").Range("A65535").End(xlUp).Offset(1,<br /> 0)<br /> End If<br /> <br /> Celà devrait faire<br /> <br /> Dis moi !!!!!<br /> Total = 0<br /> Next<br />
Salut à toi<br />
Je te propose ce code :<br />
<br />
Total = 0<br />
Sheets("Feuil3").Cells.Clear<br />
Sheets("Feuil2").Range("A1",<br />
Sheets("Feuil2").Range("IV1").End(xlToLeft)).Copy<br />
Sheets("Feuil3").Range("A1")<br />
For Each c In Worksheets("Feuil2").Range("A2", "A" &<br />
Sheets("Feuil2").Range("A65535").End(xlUp).Row)<br />
For i = 2 To Range("IV1").End(xlToLeft).Column<br />
Total = Total + Cells(c.Row, i).Value<br />
Next<br />
If Total >= 1 Then<br />
c.EntireRow.Copy Sheets("Feuil3").Range("A65535").End(xlUp).Offset(1,<br />
0)<br />
End If<br />
<br />
Celà devrait faire<br />
<br />
Dis moi !!!!!<br />
Total = 0<br />
Next<br />
Salut à toi<br /> Je te propose ce code :<br /> <br /> Total = 0<br /> Sheets("Feuil3").Cells.Clear<br /> Sheets("Feuil2").Range("A1",<br /> Sheets("Feuil2").Range("IV1").End(xlToLeft)).Copy<br /> Sheets("Feuil3").Range("A1")<br /> For Each c In Worksheets("Feuil2").Range("A2", "A" &<br /> Sheets("Feuil2").Range("A65535").End(xlUp).Row)<br /> For i = 2 To Range("IV1").End(xlToLeft).Column<br /> Total = Total + Cells(c.Row, i).Value<br /> Next<br /> If Total >= 1 Then<br /> c.EntireRow.Copy Sheets("Feuil3").Range("A65535").End(xlUp).Offset(1,<br /> 0)<br /> End If<br /> <br /> Celà devrait faire<br /> <br /> Dis moi !!!!!<br /> Total = 0<br /> Next<br />
francois.forcet
Rebonjours à toi<br /> J'ai fait une maladresse en te répondant et donc altéré mon code<br /> Recopies celui-ci :<br /> <br /> Total = 0<br /> Sheets("Feuil3").Cells.Clear<br /> Sheets("Feuil2").Range("A1",<br /> Sheets("Feuil2").Range("IV1").End(xlToLeft)).Copy<br /> Sheets("Feuil3").Range("A1")<br /> For Each c In Worksheets("Feuil2").Range("A2", "A" &<br /> Sheets("Feuil2").Range("A65535").End(xlUp).Row)<br /> For i = 2 To Range("IV1").End(xlToLeft).Column<br /> Total = Total + Cells(c.Row, i).Value<br /> Next<br /> If Total >= 1 Then<br /> c.EntireRow.Copy Sheets("Feuil3").Range("A65535").End(xlUp).Offset(1,<br /> 0)<br /> End If<br /> Total = 0<br /> Next<br /> <br /> <br /> <br /> Mille excuses<br /> Donnes moi des nouvelles<br />
Rebonjours à toi<br />
J'ai fait une maladresse en te répondant et donc altéré mon code<br />
Recopies celui-ci :<br />
<br />
Total = 0<br />
Sheets("Feuil3").Cells.Clear<br />
Sheets("Feuil2").Range("A1",<br />
Sheets("Feuil2").Range("IV1").End(xlToLeft)).Copy<br />
Sheets("Feuil3").Range("A1")<br />
For Each c In Worksheets("Feuil2").Range("A2", "A" &<br />
Sheets("Feuil2").Range("A65535").End(xlUp).Row)<br />
For i = 2 To Range("IV1").End(xlToLeft).Column<br />
Total = Total + Cells(c.Row, i).Value<br />
Next<br />
If Total >= 1 Then<br />
c.EntireRow.Copy Sheets("Feuil3").Range("A65535").End(xlUp).Offset(1,<br />
0)<br />
End If<br />
Total = 0<br />
Next<br />
<br />
<br />
<br />
Mille excuses<br />
Donnes moi des nouvelles<br />
Rebonjours à toi<br /> J'ai fait une maladresse en te répondant et donc altéré mon code<br /> Recopies celui-ci :<br /> <br /> Total = 0<br /> Sheets("Feuil3").Cells.Clear<br /> Sheets("Feuil2").Range("A1",<br /> Sheets("Feuil2").Range("IV1").End(xlToLeft)).Copy<br /> Sheets("Feuil3").Range("A1")<br /> For Each c In Worksheets("Feuil2").Range("A2", "A" &<br /> Sheets("Feuil2").Range("A65535").End(xlUp).Row)<br /> For i = 2 To Range("IV1").End(xlToLeft).Column<br /> Total = Total + Cells(c.Row, i).Value<br /> Next<br /> If Total >= 1 Then<br /> c.EntireRow.Copy Sheets("Feuil3").Range("A65535").End(xlUp).Offset(1,<br /> 0)<br /> End If<br /> Total = 0<br /> Next<br /> <br /> <br /> <br /> Mille excuses<br /> Donnes moi des nouvelles<br />
Misange
Bonjour<br /> Sans macro : Ajoute une colonne ou tu fais la somme par site. Il te<br /> suffit de trier sur cette colonne et de copier les lignes pertinentes.<br /> Autre solution, utilise un filtre élaboré (voir tuto sur page débuter<br /> d'excelabo)<br /> <br /> Misange migrateuse<br /> XlWiki : Participez à un travail collaboratif sur excel !<br /> http://xlwiki.free.fr/wiki<br /> http://www.excelabo.net<br /> <br /> <blockquote class="block0"><br /> Bonjour,<br /> <br /> j'ai dans une feuille2 un tableau récapitulatif de données issues de données<br /> dans la feuille1 et sous forme :<br /> janv-08 fev-08 mar-08 avr-08 mai-08<br /> Site1 1 0 0 1 0<br /> Site2 0 1 0 0 1<br /> Site3 0 0 0 0 0<br /> <br /> <br /> Je souhaiterai obtenir un tableau en feuille3 qui ne contient que les sites<br /> qui ont au moins une valeur égale à 1 sur les mois<br /> dans l'exemple le site 3 ne doit pas apparaitre.<br /> <br /> Avez vous une idée ?<br /> Merci de votre aide<br /> <br /> <br /> <br /> </blockquote><br />
Bonjour<br />
Sans macro : Ajoute une colonne ou tu fais la somme par site. Il te<br />
suffit de trier sur cette colonne et de copier les lignes pertinentes.<br />
Autre solution, utilise un filtre élaboré (voir tuto sur page débuter<br />
d'excelabo)<br />
<br />
Misange migrateuse<br />
XlWiki : Participez à un travail collaboratif sur excel !<br />
http://xlwiki.free.fr/wiki<br />
http://www.excelabo.net<br />
<br />
<blockquote class="block0"><br />
Bonjour,<br />
<br />
j'ai dans une feuille2 un tableau récapitulatif de données issues de données<br />
dans la feuille1 et sous forme :<br />
janv-08 fev-08 mar-08 avr-08 mai-08<br />
Site1 1 0 0 1 0<br />
Site2 0 1 0 0 1<br />
Site3 0 0 0 0 0<br />
<br />
<br />
Je souhaiterai obtenir un tableau en feuille3 qui ne contient que les sites<br />
qui ont au moins une valeur égale à 1 sur les mois<br />
dans l'exemple le site 3 ne doit pas apparaitre.<br />
<br />
Avez vous une idée ?<br />
Merci de votre aide<br />
<br />
<br />
<br />
</blockquote><br />
Bonjour<br /> Sans macro : Ajoute une colonne ou tu fais la somme par site. Il te<br /> suffit de trier sur cette colonne et de copier les lignes pertinentes.<br /> Autre solution, utilise un filtre élaboré (voir tuto sur page débuter<br /> d'excelabo)<br /> <br /> Misange migrateuse<br /> XlWiki : Participez à un travail collaboratif sur excel !<br /> http://xlwiki.free.fr/wiki<br /> http://www.excelabo.net<br /> <br /> <blockquote class="block0"><br /> Bonjour,<br /> <br /> j'ai dans une feuille2 un tableau récapitulatif de données issues de données<br /> dans la feuille1 et sous forme :<br /> janv-08 fev-08 mar-08 avr-08 mai-08<br /> Site1 1 0 0 1 0<br /> Site2 0 1 0 0 1<br /> Site3 0 0 0 0 0<br /> <br /> <br /> Je souhaiterai obtenir un tableau en feuille3 qui ne contient que les sites<br /> qui ont au moins une valeur égale à 1 sur les mois<br /> dans l'exemple le site 3 ne doit pas apparaitre.<br /> <br /> Avez vous une idée ?<br /> Merci de votre aide<br /> <br /> <br /> <br /> </blockquote><br />
J&B
Merci Mais ça ne marche pas et j'ai pas bien compris !!!
a écrit dans le message de news:
Rebonjours à toi J'ai fait une maladresse en te répondant et donc altéré mon code Recopies celui-ci :
Total = 0 Sheets("Feuil3").Cells.Clear Sheets("Feuil2").Range("A1", Sheets("Feuil2").Range("IV1").End(xlToLeft)).Copy Sheets("Feuil3").Range("A1") For Each c In Worksheets("Feuil2").Range("A2", "A" & Sheets("Feuil2").Range("A65535").End(xlUp).Row) For i = 2 To Range("IV1").End(xlToLeft).Column Total = Total + Cells(c.Row, i).Value Next If Total >= 1 Then c.EntireRow.Copy Sheets("Feuil3").Range("A65535").End(xlUp).Offset(1, 0) End If Total = 0 Next
Mille excuses Donnes moi des nouvelles
Merci
Mais ça ne marche pas et j'ai pas bien compris !!!
<francois.forcet@wanadoo.fr> a écrit dans le message de news:
49ab7eb1-dbd5-44a8-b083-e92cab784f78@t54g2000hsg.googlegroups.com...
Rebonjours à toi
J'ai fait une maladresse en te répondant et donc altéré mon code
Recopies celui-ci :
Total = 0
Sheets("Feuil3").Cells.Clear
Sheets("Feuil2").Range("A1",
Sheets("Feuil2").Range("IV1").End(xlToLeft)).Copy
Sheets("Feuil3").Range("A1")
For Each c In Worksheets("Feuil2").Range("A2", "A" &
Sheets("Feuil2").Range("A65535").End(xlUp).Row)
For i = 2 To Range("IV1").End(xlToLeft).Column
Total = Total + Cells(c.Row, i).Value
Next
If Total >= 1 Then
c.EntireRow.Copy Sheets("Feuil3").Range("A65535").End(xlUp).Offset(1,
0)
End If
Total = 0
Next
Merci Mais ça ne marche pas et j'ai pas bien compris !!!
a écrit dans le message de news:
Rebonjours à toi J'ai fait une maladresse en te répondant et donc altéré mon code Recopies celui-ci :
Total = 0 Sheets("Feuil3").Cells.Clear Sheets("Feuil2").Range("A1", Sheets("Feuil2").Range("IV1").End(xlToLeft)).Copy Sheets("Feuil3").Range("A1") For Each c In Worksheets("Feuil2").Range("A2", "A" & Sheets("Feuil2").Range("A65535").End(xlUp).Row) For i = 2 To Range("IV1").End(xlToLeft).Column Total = Total + Cells(c.Row, i).Value Next If Total >= 1 Then c.EntireRow.Copy Sheets("Feuil3").Range("A65535").End(xlUp).Offset(1, 0) End If Total = 0 Next
Mille excuses Donnes moi des nouvelles
francois.forcet
Rebonjours à toi
j'ai rajouté une instruction pour activer la feuille à traiter :
Sheets("Feuil2").Activate
ce qui donne :
Total = 0 Sheets("Feuil3").Cells.Clear Sheets("Feuil2").Range("A1", Sheets("Feuil2").Range("IV1").End(xlToLeft)).Copy Sheets("Feuil3").Range("A1") Sheets("Feuil2").Activate For Each c In Worksheets("Feuil2").Range("A2", "A" & Sheets("Feuil2").Range("A65535").End(xlUp).Row) For i = 2 To Range("IV1").End(xlToLeft).Column Total = Total + Cells(c.Row, i).Value Next If Total >= 1 Then c.EntireRow.Copy Sheets("Feuil3").Range("A65535").End(xlUp).Offset(1, 0) End If Total = 0 Next
mais je pense que ta difficulté réside dans la recopie du code qui scinde certaines lignes d'instruction mettant à mal son fonctionnement
Active la macro "Recopie" puis regarde en Feuil3 le résultat
Vas voir le code pour en connaitre la présentation
Donnes moi ton avis
Rebonjours à toi
j'ai rajouté une instruction pour activer la feuille à traiter :
Sheets("Feuil2").Activate
ce qui donne :
Total = 0
Sheets("Feuil3").Cells.Clear
Sheets("Feuil2").Range("A1",
Sheets("Feuil2").Range("IV1").End(xlToLeft)).Copy
Sheets("Feuil3").Range("A1")
Sheets("Feuil2").Activate
For Each c In Worksheets("Feuil2").Range("A2", "A" &
Sheets("Feuil2").Range("A65535").End(xlUp).Row)
For i = 2 To Range("IV1").End(xlToLeft).Column
Total = Total + Cells(c.Row, i).Value
Next
If Total >= 1 Then
c.EntireRow.Copy Sheets("Feuil3").Range("A65535").End(xlUp).Offset(1,
0)
End If
Total = 0
Next
mais je pense que ta difficulté réside dans la recopie du code qui
scinde certaines lignes d'instruction mettant à mal son fonctionnement
j'ai rajouté une instruction pour activer la feuille à traiter :
Sheets("Feuil2").Activate
ce qui donne :
Total = 0 Sheets("Feuil3").Cells.Clear Sheets("Feuil2").Range("A1", Sheets("Feuil2").Range("IV1").End(xlToLeft)).Copy Sheets("Feuil3").Range("A1") Sheets("Feuil2").Activate For Each c In Worksheets("Feuil2").Range("A2", "A" & Sheets("Feuil2").Range("A65535").End(xlUp).Row) For i = 2 To Range("IV1").End(xlToLeft).Column Total = Total + Cells(c.Row, i).Value Next If Total >= 1 Then c.EntireRow.Copy Sheets("Feuil3").Range("A65535").End(xlUp).Offset(1, 0) End If Total = 0 Next
mais je pense que ta difficulté réside dans la recopie du code qui scinde certaines lignes d'instruction mettant à mal son fonctionnement
Active la macro "Recopie" puis regarde en Feuil3 le résultat
Vas voir le code pour en connaitre la présentation
Donnes moi ton avis
J&B
Superrrrrrrrrrrrrrrrrrrrrrrrrrr Grand merci ça marche impec Bonne soirée
a écrit dans le message de news:
Rebonjours à toi
j'ai rajouté une instruction pour activer la feuille à traiter :
Sheets("Feuil2").Activate
ce qui donne :
Total = 0 Sheets("Feuil3").Cells.Clear Sheets("Feuil2").Range("A1", Sheets("Feuil2").Range("IV1").End(xlToLeft)).Copy Sheets("Feuil3").Range("A1") Sheets("Feuil2").Activate For Each c In Worksheets("Feuil2").Range("A2", "A" & Sheets("Feuil2").Range("A65535").End(xlUp).Row) For i = 2 To Range("IV1").End(xlToLeft).Column Total = Total + Cells(c.Row, i).Value Next If Total >= 1 Then c.EntireRow.Copy Sheets("Feuil3").Range("A65535").End(xlUp).Offset(1, 0) End If Total = 0 Next
mais je pense que ta difficulté réside dans la recopie du code qui scinde certaines lignes d'instruction mettant à mal son fonctionnement
Active la macro "Recopie" puis regarde en Feuil3 le résultat
Vas voir le code pour en connaitre la présentation
Donnes moi ton avis
Superrrrrrrrrrrrrrrrrrrrrrrrrrr
Grand merci
ça marche impec
Bonne soirée
<francois.forcet@wanadoo.fr> a écrit dans le message de news:
4d54f5c2-5ca0-41c3-8449-56bdb65649c3@m3g2000hsc.googlegroups.com...
Rebonjours à toi
j'ai rajouté une instruction pour activer la feuille à traiter :
Sheets("Feuil2").Activate
ce qui donne :
Total = 0
Sheets("Feuil3").Cells.Clear
Sheets("Feuil2").Range("A1",
Sheets("Feuil2").Range("IV1").End(xlToLeft)).Copy
Sheets("Feuil3").Range("A1")
Sheets("Feuil2").Activate
For Each c In Worksheets("Feuil2").Range("A2", "A" &
Sheets("Feuil2").Range("A65535").End(xlUp).Row)
For i = 2 To Range("IV1").End(xlToLeft).Column
Total = Total + Cells(c.Row, i).Value
Next
If Total >= 1 Then
c.EntireRow.Copy Sheets("Feuil3").Range("A65535").End(xlUp).Offset(1,
0)
End If
Total = 0
Next
mais je pense que ta difficulté réside dans la recopie du code qui
scinde certaines lignes d'instruction mettant à mal son fonctionnement
Superrrrrrrrrrrrrrrrrrrrrrrrrrr Grand merci ça marche impec Bonne soirée
a écrit dans le message de news:
Rebonjours à toi
j'ai rajouté une instruction pour activer la feuille à traiter :
Sheets("Feuil2").Activate
ce qui donne :
Total = 0 Sheets("Feuil3").Cells.Clear Sheets("Feuil2").Range("A1", Sheets("Feuil2").Range("IV1").End(xlToLeft)).Copy Sheets("Feuil3").Range("A1") Sheets("Feuil2").Activate For Each c In Worksheets("Feuil2").Range("A2", "A" & Sheets("Feuil2").Range("A65535").End(xlUp).Row) For i = 2 To Range("IV1").End(xlToLeft).Column Total = Total + Cells(c.Row, i).Value Next If Total >= 1 Then c.EntireRow.Copy Sheets("Feuil3").Range("A65535").End(xlUp).Offset(1, 0) End If Total = 0 Next
mais je pense que ta difficulté réside dans la recopie du code qui scinde certaines lignes d'instruction mettant à mal son fonctionnement