Bonjour,
Démarche effectuée mais toujours le même résultat ...
D'autre pistes ?
Romeo59181
"Péhemme" a écrit dans le message de groupe de discussion :Re Bonjour,
Le fichier de FFO te permet de recopier chaque ligne colorée dans un
onglet différent (chaque couleur correspondant à une affectation).
La macro nécessite deux légères modifications :
1°) comme je te le disais dans mon précédent message (ainsi que FFO dans
son message d'envoi du fichier) : mettre une ' devant chaque Exit For.
En effet, ainsi écrite la macro se terminera dès qu'elle aura trouvé et
recopié la première ligne colorée.
2°) tu devras adapter cette macro sur la ligne correspondant aux lignes
concernant "Losc" et "Braderie" traitant de la même couleur 42.
Mais je ne comprends peut-être pas la question
Michel
"romeo59181" a écrit dans le message de
news:Bonjour,
Le tri ne effectue pas ...
Lorsque j'execute la macro la fenetre s'en va mais le tri ne se fait pas
...
Que faire,
Veut tu mon fichier ? Mon tél ?
@+
Romeo59181
"FFO" a écrit dans le message de groupe
de discussion :Rebonjour à toi
Pour créer une Macro dans ton fichier:
Outil/Macro/Nouvelle macro
Nom de la macro : mettre un nom
Ok
Cliques sur le carré bleu de l'icone "Arr"
Puis
Outil/Macro/Macros
Sélectionnes le nom de ta macro
Modifier
Entre le Sub et le End Sub mets ces lignes :
For Each c In Worksheets("Feuil1").Range("A1", "A" &
Worksheets("Feuil1").Range("A65535").End(xlUp).Row)
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy Sheets("Négatif").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 6 Then
c.EntireRow.Copy Sheets("Manque de
données").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 5 Then
c.EntireRow.Copy Sheets("Portable").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 46 Then
c.EntireRow.Copy Sheets("A Rap").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 15 Then
c.EntireRow.Copy Sheets("A Rap Avec
Date").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 42 Then
c.EntireRow.Copy Sheets("Losc").Range("A65535").End(xlUp).Offset(1, 0)
c.EntireRow.Copy Sheets("Braderie").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 7 Then
c.EntireRow.Copy Sheets("Braderie").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
Next
Chaque couleur est traitée par ces lignes :
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy Sheets("Négatif").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 3 reprèsente le code de la couleur traitée
(ici
le 3 pour le rouge)
Sheets("Négatif") est le nom de l'onglet de destination
Si tu souhaites rajouter des couleurs tu prends un exemple de ces
lignes que
tu recopies avant le Next de la fin
Puis tu adaptes le code couleur et le nom de l'onglet de destination
Pour connaître le code couleur tu colories une cellule de cette couleur
et
aprés l'avoir sélectionné tu exécutes la macro suivante (aprés l'avoir
créée):
MsgBox (ActiveCell.Interior.ColorIndex)
Une boîte de dialogue te donneras le code couleur de cette cellule
Tu peux aussi modifier les lignes existantes dans ce code en fonction
d'une
nouvelle couleur ou d'un nouveau nom d'onglet
Je suppose qu'une seule couleur sera à traiter par fichier
Dans le cas contraire si plusieurs couleurs par fichier devaient être
recopiées dans les onglets appropriés il faudrait ihniber les ligne
"Exit
For" en mettant une cote devant ainsi :
'Exit For
Ou les supprimer
Je te joint un exemple sur ce lien :
http://www.cijoint.fr/cjlink.php?file=cj200807/cij3ViDvH2.xls.
Fais des essais et dis moi !!!!
Bonjour,
Démarche effectuée mais toujours le même résultat ...
D'autre pistes ?
Romeo59181
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
e8L4Rbd4IHA.4800@TK2MSFTNGP02.phx.gbl...
Re Bonjour,
Le fichier de FFO te permet de recopier chaque ligne colorée dans un
onglet différent (chaque couleur correspondant à une affectation).
La macro nécessite deux légères modifications :
1°) comme je te le disais dans mon précédent message (ainsi que FFO dans
son message d'envoi du fichier) : mettre une ' devant chaque Exit For.
En effet, ainsi écrite la macro se terminera dès qu'elle aura trouvé et
recopié la première ligne colorée.
2°) tu devras adapter cette macro sur la ligne correspondant aux lignes
concernant "Losc" et "Braderie" traitant de la même couleur 42.
Mais je ne comprends peut-être pas la question
Michel
"romeo59181" <romeo59181@hotmail.com> a écrit dans le message de
news:3DCF5170-1543-437B-B1D3-DF86DBAD3411@microsoft.com...
Bonjour,
Le tri ne effectue pas ...
Lorsque j'execute la macro la fenetre s'en va mais le tri ne se fait pas
...
Que faire,
Veut tu mon fichier ? Mon tél ?
@+
Romeo59181
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de groupe
de discussion : 2FE2407A-BA1F-46C2-9CFA-4813ABB22E07@microsoft.com...
Rebonjour à toi
Pour créer une Macro dans ton fichier:
Outil/Macro/Nouvelle macro
Nom de la macro : mettre un nom
Ok
Cliques sur le carré bleu de l'icone "Arr"
Puis
Outil/Macro/Macros
Sélectionnes le nom de ta macro
Modifier
Entre le Sub et le End Sub mets ces lignes :
For Each c In Worksheets("Feuil1").Range("A1", "A" &
Worksheets("Feuil1").Range("A65535").End(xlUp).Row)
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy Sheets("Négatif").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 6 Then
c.EntireRow.Copy Sheets("Manque de
données").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 5 Then
c.EntireRow.Copy Sheets("Portable").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 46 Then
c.EntireRow.Copy Sheets("A Rap").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 15 Then
c.EntireRow.Copy Sheets("A Rap Avec
Date").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 42 Then
c.EntireRow.Copy Sheets("Losc").Range("A65535").End(xlUp).Offset(1, 0)
c.EntireRow.Copy Sheets("Braderie").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 7 Then
c.EntireRow.Copy Sheets("Braderie").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
Next
Chaque couleur est traitée par ces lignes :
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy Sheets("Négatif").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 3 reprèsente le code de la couleur traitée
(ici
le 3 pour le rouge)
Sheets("Négatif") est le nom de l'onglet de destination
Si tu souhaites rajouter des couleurs tu prends un exemple de ces
lignes que
tu recopies avant le Next de la fin
Puis tu adaptes le code couleur et le nom de l'onglet de destination
Pour connaître le code couleur tu colories une cellule de cette couleur
et
aprés l'avoir sélectionné tu exécutes la macro suivante (aprés l'avoir
créée):
MsgBox (ActiveCell.Interior.ColorIndex)
Une boîte de dialogue te donneras le code couleur de cette cellule
Tu peux aussi modifier les lignes existantes dans ce code en fonction
d'une
nouvelle couleur ou d'un nouveau nom d'onglet
Je suppose qu'une seule couleur sera à traiter par fichier
Dans le cas contraire si plusieurs couleurs par fichier devaient être
recopiées dans les onglets appropriés il faudrait ihniber les ligne
"Exit
For" en mettant une cote devant ainsi :
'Exit For
Ou les supprimer
Je te joint un exemple sur ce lien :
http://www.cijoint.fr/cjlink.php?file=cj200807/cij3ViDvH2.xls.
Fais des essais et dis moi !!!!
Bonjour,
Démarche effectuée mais toujours le même résultat ...
D'autre pistes ?
Romeo59181
"Péhemme" a écrit dans le message de groupe de discussion :Re Bonjour,
Le fichier de FFO te permet de recopier chaque ligne colorée dans un
onglet différent (chaque couleur correspondant à une affectation).
La macro nécessite deux légères modifications :
1°) comme je te le disais dans mon précédent message (ainsi que FFO dans
son message d'envoi du fichier) : mettre une ' devant chaque Exit For.
En effet, ainsi écrite la macro se terminera dès qu'elle aura trouvé et
recopié la première ligne colorée.
2°) tu devras adapter cette macro sur la ligne correspondant aux lignes
concernant "Losc" et "Braderie" traitant de la même couleur 42.
Mais je ne comprends peut-être pas la question
Michel
"romeo59181" a écrit dans le message de
news:Bonjour,
Le tri ne effectue pas ...
Lorsque j'execute la macro la fenetre s'en va mais le tri ne se fait pas
...
Que faire,
Veut tu mon fichier ? Mon tél ?
@+
Romeo59181
"FFO" a écrit dans le message de groupe
de discussion :Rebonjour à toi
Pour créer une Macro dans ton fichier:
Outil/Macro/Nouvelle macro
Nom de la macro : mettre un nom
Ok
Cliques sur le carré bleu de l'icone "Arr"
Puis
Outil/Macro/Macros
Sélectionnes le nom de ta macro
Modifier
Entre le Sub et le End Sub mets ces lignes :
For Each c In Worksheets("Feuil1").Range("A1", "A" &
Worksheets("Feuil1").Range("A65535").End(xlUp).Row)
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy Sheets("Négatif").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 6 Then
c.EntireRow.Copy Sheets("Manque de
données").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 5 Then
c.EntireRow.Copy Sheets("Portable").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 46 Then
c.EntireRow.Copy Sheets("A Rap").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 15 Then
c.EntireRow.Copy Sheets("A Rap Avec
Date").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 42 Then
c.EntireRow.Copy Sheets("Losc").Range("A65535").End(xlUp).Offset(1, 0)
c.EntireRow.Copy Sheets("Braderie").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 7 Then
c.EntireRow.Copy Sheets("Braderie").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
Next
Chaque couleur est traitée par ces lignes :
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy Sheets("Négatif").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 3 reprèsente le code de la couleur traitée
(ici
le 3 pour le rouge)
Sheets("Négatif") est le nom de l'onglet de destination
Si tu souhaites rajouter des couleurs tu prends un exemple de ces
lignes que
tu recopies avant le Next de la fin
Puis tu adaptes le code couleur et le nom de l'onglet de destination
Pour connaître le code couleur tu colories une cellule de cette couleur
et
aprés l'avoir sélectionné tu exécutes la macro suivante (aprés l'avoir
créée):
MsgBox (ActiveCell.Interior.ColorIndex)
Une boîte de dialogue te donneras le code couleur de cette cellule
Tu peux aussi modifier les lignes existantes dans ce code en fonction
d'une
nouvelle couleur ou d'un nouveau nom d'onglet
Je suppose qu'une seule couleur sera à traiter par fichier
Dans le cas contraire si plusieurs couleurs par fichier devaient être
recopiées dans les onglets appropriés il faudrait ihniber les ligne
"Exit
For" en mettant une cote devant ainsi :
'Exit For
Ou les supprimer
Je te joint un exemple sur ce lien :
http://www.cijoint.fr/cjlink.php?file=cj200807/cij3ViDvH2.xls.
Fais des essais et dis moi !!!!
1°) Adapte la macro de FFO.
En effet, pour des raisons de présentation j'imagine, ta première colonne
est vide.
.Faute d'information, FFO determine la hauteur de ta base de données sur
cette colonne A.
.Modifie également le champ de destination (colonne B au lieu de A)
.Le début de ta base de données est B4 et non A1
2°) Il te faudra utiliser sa macro à chaque fois qu'une ligne sera
remplie.
Si tu as plusieurs lignes de la même couleur, elle ne traitera que la
première.
Michel
"romeo59181" a écrit dans le message de
news:uTZ0%Bonjour,
Démarche effectuée mais toujours le même résultat ...
D'autre pistes ?
Romeo59181
"Péhemme" a écrit dans le message de groupe de discussion :Re Bonjour,
Le fichier de FFO te permet de recopier chaque ligne colorée dans un
onglet différent (chaque couleur correspondant à une affectation).
La macro nécessite deux légères modifications :
1°) comme je te le disais dans mon précédent message (ainsi que FFO dans
son message d'envoi du fichier) : mettre une ' devant chaque Exit For.
En effet, ainsi écrite la macro se terminera dès qu'elle aura trouvé et
recopié la première ligne colorée.
2°) tu devras adapter cette macro sur la ligne correspondant aux lignes
concernant "Losc" et "Braderie" traitant de la même couleur 42.
Mais je ne comprends peut-être pas la question
Michel
"romeo59181" a écrit dans le message de
news:Bonjour,
Le tri ne effectue pas ...
Lorsque j'execute la macro la fenetre s'en va mais le tri ne se fait
pas ...
Que faire,
Veut tu mon fichier ? Mon tél ?
@+
Romeo59181
"FFO" a écrit dans le message de groupe
de discussion :Rebonjour à toi
Pour créer une Macro dans ton fichier:
Outil/Macro/Nouvelle macro
Nom de la macro : mettre un nom
Ok
Cliques sur le carré bleu de l'icone "Arr"
Puis
Outil/Macro/Macros
Sélectionnes le nom de ta macro
Modifier
Entre le Sub et le End Sub mets ces lignes :
For Each c In Worksheets("Feuil1").Range("A1", "A" &
Worksheets("Feuil1").Range("A65535").End(xlUp).Row)
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy Sheets("Négatif").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 6 Then
c.EntireRow.Copy Sheets("Manque de
données").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 5 Then
c.EntireRow.Copy
Sheets("Portable").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 46 Then
c.EntireRow.Copy Sheets("A Rap").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 15 Then
c.EntireRow.Copy Sheets("A Rap Avec
Date").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 42 Then
c.EntireRow.Copy Sheets("Losc").Range("A65535").End(xlUp).Offset(1, 0)
c.EntireRow.Copy
Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 7 Then
c.EntireRow.Copy
Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
Next
Chaque couleur est traitée par ces lignes :
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy Sheets("Négatif").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 3 reprèsente le code de la couleur traitée
(ici
le 3 pour le rouge)
Sheets("Négatif") est le nom de l'onglet de destination
Si tu souhaites rajouter des couleurs tu prends un exemple de ces
lignes que
tu recopies avant le Next de la fin
Puis tu adaptes le code couleur et le nom de l'onglet de destination
Pour connaître le code couleur tu colories une cellule de cette
couleur et
aprés l'avoir sélectionné tu exécutes la macro suivante (aprés l'avoir
créée):
MsgBox (ActiveCell.Interior.ColorIndex)
Une boîte de dialogue te donneras le code couleur de cette cellule
Tu peux aussi modifier les lignes existantes dans ce code en fonction
d'une
nouvelle couleur ou d'un nouveau nom d'onglet
Je suppose qu'une seule couleur sera à traiter par fichier
Dans le cas contraire si plusieurs couleurs par fichier devaient être
recopiées dans les onglets appropriés il faudrait ihniber les ligne
"Exit
For" en mettant une cote devant ainsi :
'Exit For
Ou les supprimer
Je te joint un exemple sur ce lien :
http://www.cijoint.fr/cjlink.php?file=cj200807/cij3ViDvH2.xls.
Fais des essais et dis moi !!!!
1°) Adapte la macro de FFO.
En effet, pour des raisons de présentation j'imagine, ta première colonne
est vide.
.Faute d'information, FFO determine la hauteur de ta base de données sur
cette colonne A.
.Modifie également le champ de destination (colonne B au lieu de A)
.Le début de ta base de données est B4 et non A1
2°) Il te faudra utiliser sa macro à chaque fois qu'une ligne sera
remplie.
Si tu as plusieurs lignes de la même couleur, elle ne traitera que la
première.
Michel
"romeo59181" <romeo59181@hotmail.com> a écrit dans le message de
news:uTZ0%23gd4IHA.3804@TK2MSFTNGP03.phx.gbl...
Bonjour,
Démarche effectuée mais toujours le même résultat ...
D'autre pistes ?
Romeo59181
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
e8L4Rbd4IHA.4800@TK2MSFTNGP02.phx.gbl...
Re Bonjour,
Le fichier de FFO te permet de recopier chaque ligne colorée dans un
onglet différent (chaque couleur correspondant à une affectation).
La macro nécessite deux légères modifications :
1°) comme je te le disais dans mon précédent message (ainsi que FFO dans
son message d'envoi du fichier) : mettre une ' devant chaque Exit For.
En effet, ainsi écrite la macro se terminera dès qu'elle aura trouvé et
recopié la première ligne colorée.
2°) tu devras adapter cette macro sur la ligne correspondant aux lignes
concernant "Losc" et "Braderie" traitant de la même couleur 42.
Mais je ne comprends peut-être pas la question
Michel
"romeo59181" <romeo59181@hotmail.com> a écrit dans le message de
news:3DCF5170-1543-437B-B1D3-DF86DBAD3411@microsoft.com...
Bonjour,
Le tri ne effectue pas ...
Lorsque j'execute la macro la fenetre s'en va mais le tri ne se fait
pas ...
Que faire,
Veut tu mon fichier ? Mon tél ?
@+
Romeo59181
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de groupe
de discussion : 2FE2407A-BA1F-46C2-9CFA-4813ABB22E07@microsoft.com...
Rebonjour à toi
Pour créer une Macro dans ton fichier:
Outil/Macro/Nouvelle macro
Nom de la macro : mettre un nom
Ok
Cliques sur le carré bleu de l'icone "Arr"
Puis
Outil/Macro/Macros
Sélectionnes le nom de ta macro
Modifier
Entre le Sub et le End Sub mets ces lignes :
For Each c In Worksheets("Feuil1").Range("A1", "A" &
Worksheets("Feuil1").Range("A65535").End(xlUp).Row)
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy Sheets("Négatif").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 6 Then
c.EntireRow.Copy Sheets("Manque de
données").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 5 Then
c.EntireRow.Copy
Sheets("Portable").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 46 Then
c.EntireRow.Copy Sheets("A Rap").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 15 Then
c.EntireRow.Copy Sheets("A Rap Avec
Date").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 42 Then
c.EntireRow.Copy Sheets("Losc").Range("A65535").End(xlUp).Offset(1, 0)
c.EntireRow.Copy
Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 7 Then
c.EntireRow.Copy
Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
Next
Chaque couleur est traitée par ces lignes :
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy Sheets("Négatif").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 3 reprèsente le code de la couleur traitée
(ici
le 3 pour le rouge)
Sheets("Négatif") est le nom de l'onglet de destination
Si tu souhaites rajouter des couleurs tu prends un exemple de ces
lignes que
tu recopies avant le Next de la fin
Puis tu adaptes le code couleur et le nom de l'onglet de destination
Pour connaître le code couleur tu colories une cellule de cette
couleur et
aprés l'avoir sélectionné tu exécutes la macro suivante (aprés l'avoir
créée):
MsgBox (ActiveCell.Interior.ColorIndex)
Une boîte de dialogue te donneras le code couleur de cette cellule
Tu peux aussi modifier les lignes existantes dans ce code en fonction
d'une
nouvelle couleur ou d'un nouveau nom d'onglet
Je suppose qu'une seule couleur sera à traiter par fichier
Dans le cas contraire si plusieurs couleurs par fichier devaient être
recopiées dans les onglets appropriés il faudrait ihniber les ligne
"Exit
For" en mettant une cote devant ainsi :
'Exit For
Ou les supprimer
Je te joint un exemple sur ce lien :
http://www.cijoint.fr/cjlink.php?file=cj200807/cij3ViDvH2.xls.
Fais des essais et dis moi !!!!
1°) Adapte la macro de FFO.
En effet, pour des raisons de présentation j'imagine, ta première colonne
est vide.
.Faute d'information, FFO determine la hauteur de ta base de données sur
cette colonne A.
.Modifie également le champ de destination (colonne B au lieu de A)
.Le début de ta base de données est B4 et non A1
2°) Il te faudra utiliser sa macro à chaque fois qu'une ligne sera
remplie.
Si tu as plusieurs lignes de la même couleur, elle ne traitera que la
première.
Michel
"romeo59181" a écrit dans le message de
news:uTZ0%Bonjour,
Démarche effectuée mais toujours le même résultat ...
D'autre pistes ?
Romeo59181
"Péhemme" a écrit dans le message de groupe de discussion :Re Bonjour,
Le fichier de FFO te permet de recopier chaque ligne colorée dans un
onglet différent (chaque couleur correspondant à une affectation).
La macro nécessite deux légères modifications :
1°) comme je te le disais dans mon précédent message (ainsi que FFO dans
son message d'envoi du fichier) : mettre une ' devant chaque Exit For.
En effet, ainsi écrite la macro se terminera dès qu'elle aura trouvé et
recopié la première ligne colorée.
2°) tu devras adapter cette macro sur la ligne correspondant aux lignes
concernant "Losc" et "Braderie" traitant de la même couleur 42.
Mais je ne comprends peut-être pas la question
Michel
"romeo59181" a écrit dans le message de
news:Bonjour,
Le tri ne effectue pas ...
Lorsque j'execute la macro la fenetre s'en va mais le tri ne se fait
pas ...
Que faire,
Veut tu mon fichier ? Mon tél ?
@+
Romeo59181
"FFO" a écrit dans le message de groupe
de discussion :Rebonjour à toi
Pour créer une Macro dans ton fichier:
Outil/Macro/Nouvelle macro
Nom de la macro : mettre un nom
Ok
Cliques sur le carré bleu de l'icone "Arr"
Puis
Outil/Macro/Macros
Sélectionnes le nom de ta macro
Modifier
Entre le Sub et le End Sub mets ces lignes :
For Each c In Worksheets("Feuil1").Range("A1", "A" &
Worksheets("Feuil1").Range("A65535").End(xlUp).Row)
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy Sheets("Négatif").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 6 Then
c.EntireRow.Copy Sheets("Manque de
données").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 5 Then
c.EntireRow.Copy
Sheets("Portable").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 46 Then
c.EntireRow.Copy Sheets("A Rap").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 15 Then
c.EntireRow.Copy Sheets("A Rap Avec
Date").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 42 Then
c.EntireRow.Copy Sheets("Losc").Range("A65535").End(xlUp).Offset(1, 0)
c.EntireRow.Copy
Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 7 Then
c.EntireRow.Copy
Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
Next
Chaque couleur est traitée par ces lignes :
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy Sheets("Négatif").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 3 reprèsente le code de la couleur traitée
(ici
le 3 pour le rouge)
Sheets("Négatif") est le nom de l'onglet de destination
Si tu souhaites rajouter des couleurs tu prends un exemple de ces
lignes que
tu recopies avant le Next de la fin
Puis tu adaptes le code couleur et le nom de l'onglet de destination
Pour connaître le code couleur tu colories une cellule de cette
couleur et
aprés l'avoir sélectionné tu exécutes la macro suivante (aprés l'avoir
créée):
MsgBox (ActiveCell.Interior.ColorIndex)
Une boîte de dialogue te donneras le code couleur de cette cellule
Tu peux aussi modifier les lignes existantes dans ce code en fonction
d'une
nouvelle couleur ou d'un nouveau nom d'onglet
Je suppose qu'une seule couleur sera à traiter par fichier
Dans le cas contraire si plusieurs couleurs par fichier devaient être
recopiées dans les onglets appropriés il faudrait ihniber les ligne
"Exit
For" en mettant une cote devant ainsi :
'Exit For
Ou les supprimer
Je te joint un exemple sur ce lien :
http://www.cijoint.fr/cjlink.php?file=cj200807/cij3ViDvH2.xls.
Fais des essais et dis moi !!!!
1°) Adapte la macro de FFO.
En effet, pour des raisons de présentation j'imagine, ta première colonne
est vide.
.Faute d'information, FFO determine la hauteur de ta base de données sur
cette colonne A.
.Modifie également le champ de destination (colonne B au lieu de A)
.Le début de ta base de données est B4 et non A1
2°) Il te faudra utiliser sa macro à chaque fois qu'une ligne sera
remplie.
Si tu as plusieurs lignes de la même couleur, elle ne traitera que la
première.
Michel
"romeo59181" a écrit dans le message de
news:uTZ0%Bonjour,
Démarche effectuée mais toujours le même résultat ...
D'autre pistes ?
Romeo59181
"Péhemme" a écrit dans le message de groupe de discussion :Re Bonjour,
Le fichier de FFO te permet de recopier chaque ligne colorée dans un
onglet différent (chaque couleur correspondant à une affectation).
La macro nécessite deux légères modifications :
1°) comme je te le disais dans mon précédent message (ainsi que FFO dans
son message d'envoi du fichier) : mettre une ' devant chaque Exit For.
En effet, ainsi écrite la macro se terminera dès qu'elle aura trouvé et
recopié la première ligne colorée.
2°) tu devras adapter cette macro sur la ligne correspondant aux lignes
concernant "Losc" et "Braderie" traitant de la même couleur 42.
Mais je ne comprends peut-être pas la question
Michel
"romeo59181" a écrit dans le message de
news:Bonjour,
Le tri ne effectue pas ...
Lorsque j'execute la macro la fenetre s'en va mais le tri ne se fait
pas ...
Que faire,
Veut tu mon fichier ? Mon tél ?
@+
Romeo59181
"FFO" a écrit dans le message de groupe
de discussion :Rebonjour à toi
Pour créer une Macro dans ton fichier:
Outil/Macro/Nouvelle macro
Nom de la macro : mettre un nom
Ok
Cliques sur le carré bleu de l'icone "Arr"
Puis
Outil/Macro/Macros
Sélectionnes le nom de ta macro
Modifier
Entre le Sub et le End Sub mets ces lignes :
For Each c In Worksheets("Feuil1").Range("A1", "A" &
Worksheets("Feuil1").Range("A65535").End(xlUp).Row)
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy Sheets("Négatif").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 6 Then
c.EntireRow.Copy Sheets("Manque de
données").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 5 Then
c.EntireRow.Copy
Sheets("Portable").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 46 Then
c.EntireRow.Copy Sheets("A Rap").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 15 Then
c.EntireRow.Copy Sheets("A Rap Avec
Date").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 42 Then
c.EntireRow.Copy Sheets("Losc").Range("A65535").End(xlUp).Offset(1, 0)
c.EntireRow.Copy
Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 7 Then
c.EntireRow.Copy
Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
Next
Chaque couleur est traitée par ces lignes :
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy Sheets("Négatif").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 3 reprèsente le code de la couleur traitée
(ici
le 3 pour le rouge)
Sheets("Négatif") est le nom de l'onglet de destination
Si tu souhaites rajouter des couleurs tu prends un exemple de ces
lignes que
tu recopies avant le Next de la fin
Puis tu adaptes le code couleur et le nom de l'onglet de destination
Pour connaître le code couleur tu colories une cellule de cette
couleur et
aprés l'avoir sélectionné tu exécutes la macro suivante (aprés l'avoir
créée):
MsgBox (ActiveCell.Interior.ColorIndex)
Une boîte de dialogue te donneras le code couleur de cette cellule
Tu peux aussi modifier les lignes existantes dans ce code en fonction
d'une
nouvelle couleur ou d'un nouveau nom d'onglet
Je suppose qu'une seule couleur sera à traiter par fichier
Dans le cas contraire si plusieurs couleurs par fichier devaient être
recopiées dans les onglets appropriés il faudrait ihniber les ligne
"Exit
For" en mettant une cote devant ainsi :
'Exit For
Ou les supprimer
Je te joint un exemple sur ce lien :
http://www.cijoint.fr/cjlink.php?file=cj200807/cij3ViDvH2.xls.
Fais des essais et dis moi !!!!
1°) Adapte la macro de FFO.
En effet, pour des raisons de présentation j'imagine, ta première colonne
est vide.
.Faute d'information, FFO determine la hauteur de ta base de données sur
cette colonne A.
.Modifie également le champ de destination (colonne B au lieu de A)
.Le début de ta base de données est B4 et non A1
2°) Il te faudra utiliser sa macro à chaque fois qu'une ligne sera
remplie.
Si tu as plusieurs lignes de la même couleur, elle ne traitera que la
première.
Michel
"romeo59181" <romeo59181@hotmail.com> a écrit dans le message de
news:uTZ0%23gd4IHA.3804@TK2MSFTNGP03.phx.gbl...
Bonjour,
Démarche effectuée mais toujours le même résultat ...
D'autre pistes ?
Romeo59181
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
e8L4Rbd4IHA.4800@TK2MSFTNGP02.phx.gbl...
Re Bonjour,
Le fichier de FFO te permet de recopier chaque ligne colorée dans un
onglet différent (chaque couleur correspondant à une affectation).
La macro nécessite deux légères modifications :
1°) comme je te le disais dans mon précédent message (ainsi que FFO dans
son message d'envoi du fichier) : mettre une ' devant chaque Exit For.
En effet, ainsi écrite la macro se terminera dès qu'elle aura trouvé et
recopié la première ligne colorée.
2°) tu devras adapter cette macro sur la ligne correspondant aux lignes
concernant "Losc" et "Braderie" traitant de la même couleur 42.
Mais je ne comprends peut-être pas la question
Michel
"romeo59181" <romeo59181@hotmail.com> a écrit dans le message de
news:3DCF5170-1543-437B-B1D3-DF86DBAD3411@microsoft.com...
Bonjour,
Le tri ne effectue pas ...
Lorsque j'execute la macro la fenetre s'en va mais le tri ne se fait
pas ...
Que faire,
Veut tu mon fichier ? Mon tél ?
@+
Romeo59181
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de groupe
de discussion : 2FE2407A-BA1F-46C2-9CFA-4813ABB22E07@microsoft.com...
Rebonjour à toi
Pour créer une Macro dans ton fichier:
Outil/Macro/Nouvelle macro
Nom de la macro : mettre un nom
Ok
Cliques sur le carré bleu de l'icone "Arr"
Puis
Outil/Macro/Macros
Sélectionnes le nom de ta macro
Modifier
Entre le Sub et le End Sub mets ces lignes :
For Each c In Worksheets("Feuil1").Range("A1", "A" &
Worksheets("Feuil1").Range("A65535").End(xlUp).Row)
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy Sheets("Négatif").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 6 Then
c.EntireRow.Copy Sheets("Manque de
données").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 5 Then
c.EntireRow.Copy
Sheets("Portable").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 46 Then
c.EntireRow.Copy Sheets("A Rap").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 15 Then
c.EntireRow.Copy Sheets("A Rap Avec
Date").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 42 Then
c.EntireRow.Copy Sheets("Losc").Range("A65535").End(xlUp).Offset(1, 0)
c.EntireRow.Copy
Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 7 Then
c.EntireRow.Copy
Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
Next
Chaque couleur est traitée par ces lignes :
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy Sheets("Négatif").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 3 reprèsente le code de la couleur traitée
(ici
le 3 pour le rouge)
Sheets("Négatif") est le nom de l'onglet de destination
Si tu souhaites rajouter des couleurs tu prends un exemple de ces
lignes que
tu recopies avant le Next de la fin
Puis tu adaptes le code couleur et le nom de l'onglet de destination
Pour connaître le code couleur tu colories une cellule de cette
couleur et
aprés l'avoir sélectionné tu exécutes la macro suivante (aprés l'avoir
créée):
MsgBox (ActiveCell.Interior.ColorIndex)
Une boîte de dialogue te donneras le code couleur de cette cellule
Tu peux aussi modifier les lignes existantes dans ce code en fonction
d'une
nouvelle couleur ou d'un nouveau nom d'onglet
Je suppose qu'une seule couleur sera à traiter par fichier
Dans le cas contraire si plusieurs couleurs par fichier devaient être
recopiées dans les onglets appropriés il faudrait ihniber les ligne
"Exit
For" en mettant une cote devant ainsi :
'Exit For
Ou les supprimer
Je te joint un exemple sur ce lien :
http://www.cijoint.fr/cjlink.php?file=cj200807/cij3ViDvH2.xls.
Fais des essais et dis moi !!!!
1°) Adapte la macro de FFO.
En effet, pour des raisons de présentation j'imagine, ta première colonne
est vide.
.Faute d'information, FFO determine la hauteur de ta base de données sur
cette colonne A.
.Modifie également le champ de destination (colonne B au lieu de A)
.Le début de ta base de données est B4 et non A1
2°) Il te faudra utiliser sa macro à chaque fois qu'une ligne sera
remplie.
Si tu as plusieurs lignes de la même couleur, elle ne traitera que la
première.
Michel
"romeo59181" a écrit dans le message de
news:uTZ0%Bonjour,
Démarche effectuée mais toujours le même résultat ...
D'autre pistes ?
Romeo59181
"Péhemme" a écrit dans le message de groupe de discussion :Re Bonjour,
Le fichier de FFO te permet de recopier chaque ligne colorée dans un
onglet différent (chaque couleur correspondant à une affectation).
La macro nécessite deux légères modifications :
1°) comme je te le disais dans mon précédent message (ainsi que FFO dans
son message d'envoi du fichier) : mettre une ' devant chaque Exit For.
En effet, ainsi écrite la macro se terminera dès qu'elle aura trouvé et
recopié la première ligne colorée.
2°) tu devras adapter cette macro sur la ligne correspondant aux lignes
concernant "Losc" et "Braderie" traitant de la même couleur 42.
Mais je ne comprends peut-être pas la question
Michel
"romeo59181" a écrit dans le message de
news:Bonjour,
Le tri ne effectue pas ...
Lorsque j'execute la macro la fenetre s'en va mais le tri ne se fait
pas ...
Que faire,
Veut tu mon fichier ? Mon tél ?
@+
Romeo59181
"FFO" a écrit dans le message de groupe
de discussion :Rebonjour à toi
Pour créer une Macro dans ton fichier:
Outil/Macro/Nouvelle macro
Nom de la macro : mettre un nom
Ok
Cliques sur le carré bleu de l'icone "Arr"
Puis
Outil/Macro/Macros
Sélectionnes le nom de ta macro
Modifier
Entre le Sub et le End Sub mets ces lignes :
For Each c In Worksheets("Feuil1").Range("A1", "A" &
Worksheets("Feuil1").Range("A65535").End(xlUp).Row)
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy Sheets("Négatif").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 6 Then
c.EntireRow.Copy Sheets("Manque de
données").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 5 Then
c.EntireRow.Copy
Sheets("Portable").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 46 Then
c.EntireRow.Copy Sheets("A Rap").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 15 Then
c.EntireRow.Copy Sheets("A Rap Avec
Date").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 42 Then
c.EntireRow.Copy Sheets("Losc").Range("A65535").End(xlUp).Offset(1, 0)
c.EntireRow.Copy
Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 7 Then
c.EntireRow.Copy
Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
Next
Chaque couleur est traitée par ces lignes :
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy Sheets("Négatif").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 3 reprèsente le code de la couleur traitée
(ici
le 3 pour le rouge)
Sheets("Négatif") est le nom de l'onglet de destination
Si tu souhaites rajouter des couleurs tu prends un exemple de ces
lignes que
tu recopies avant le Next de la fin
Puis tu adaptes le code couleur et le nom de l'onglet de destination
Pour connaître le code couleur tu colories une cellule de cette
couleur et
aprés l'avoir sélectionné tu exécutes la macro suivante (aprés l'avoir
créée):
MsgBox (ActiveCell.Interior.ColorIndex)
Une boîte de dialogue te donneras le code couleur de cette cellule
Tu peux aussi modifier les lignes existantes dans ce code en fonction
d'une
nouvelle couleur ou d'un nouveau nom d'onglet
Je suppose qu'une seule couleur sera à traiter par fichier
Dans le cas contraire si plusieurs couleurs par fichier devaient être
recopiées dans les onglets appropriés il faudrait ihniber les ligne
"Exit
For" en mettant une cote devant ainsi :
'Exit For
Ou les supprimer
Je te joint un exemple sur ce lien :
http://www.cijoint.fr/cjlink.php?file=cj200807/cij3ViDvH2.xls.
Fais des essais et dis moi !!!!
For Each c In Worksheets("Général").Range("b4", "B" &
Worksheets("Général").Range("A65535").End(xlUp).Row)
For Each c In Worksheets("Général").Range("b4", "B" &
Worksheets("Général").Range("B65535").End(xlUp).Row)
Bonjour,
J'ai effectué les modifications préconisées mais cela ne fonctionne
toujours pas,
Voici ce que donne le fichier :
Sub Secouristes()
'
' Secouristes Macro
' Rangement des lignes dans les bons onglets
'
For Each c In Worksheets("Général").Range("b4", "B" &
Worksheets("Général").Range("A65535").End(xlUp).Row)
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy Sheets("Négatif").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 6 Then
c.EntireRow.Copy Sheets("Manque de
données").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 5 Then
c.EntireRow.Copy Sheets("Portable").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 46 Then
c.EntireRow.Copy Sheets("A Rap").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 15 Then
c.EntireRow.Copy Sheets("A Rap Avec
Date").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 42 Then
c.EntireRow.Copy Sheets("Losc").Range("A65535").End(xlUp).Offset(1, 0)
c.EntireRow.Copy Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 7 Then
c.EntireRow.Copy Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
Next
'
End Sub
@+
Romeo59181
"Péhemme" a écrit dans le message de groupe de discussion :1°) Adapte la macro de FFO.
En effet, pour des raisons de présentation j'imagine, ta première colonne
est vide.
.Faute d'information, FFO determine la hauteur de ta base de données sur
cette colonne A.
.Modifie également le champ de destination (colonne B au lieu de A)
.Le début de ta base de données est B4 et non A1
2°) Il te faudra utiliser sa macro à chaque fois qu'une ligne sera
remplie.
Si tu as plusieurs lignes de la même couleur, elle ne traitera que la
première.
Michel
"romeo59181" a écrit dans le message de
news:uTZ0%Bonjour,
Démarche effectuée mais toujours le même résultat ...
D'autre pistes ?
Romeo59181
"Péhemme" a écrit dans le message de groupe de discussion :Re Bonjour,
Le fichier de FFO te permet de recopier chaque ligne colorée dans un
onglet différent (chaque couleur correspondant à une affectation).
La macro nécessite deux légères modifications :
1°) comme je te le disais dans mon précédent message (ainsi que FFO
dans son message d'envoi du fichier) : mettre une ' devant chaque Exit
For.
En effet, ainsi écrite la macro se terminera dès qu'elle aura trouvé et
recopié la première ligne colorée.
2°) tu devras adapter cette macro sur la ligne correspondant aux lignes
concernant "Losc" et "Braderie" traitant de la même couleur 42.
Mais je ne comprends peut-être pas la question
Michel
"romeo59181" a écrit dans le message de
news:Bonjour,
Le tri ne effectue pas ...
Lorsque j'execute la macro la fenetre s'en va mais le tri ne se fait
pas ...
Que faire,
Veut tu mon fichier ? Mon tél ?
@+
Romeo59181
"FFO" a écrit dans le message de
groupe de discussion :Rebonjour à toi
Pour créer une Macro dans ton fichier:
Outil/Macro/Nouvelle macro
Nom de la macro : mettre un nom
Ok
Cliques sur le carré bleu de l'icone "Arr"
Puis
Outil/Macro/Macros
Sélectionnes le nom de ta macro
Modifier
Entre le Sub et le End Sub mets ces lignes :
For Each c In Worksheets("Feuil1").Range("A1", "A" &
Worksheets("Feuil1").Range("A65535").End(xlUp).Row)
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy
Sheets("Négatif").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 6 Then
c.EntireRow.Copy Sheets("Manque de
données").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 5 Then
c.EntireRow.Copy
Sheets("Portable").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 46 Then
c.EntireRow.Copy Sheets("A Rap").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 15 Then
c.EntireRow.Copy Sheets("A Rap Avec
Date").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 42 Then
c.EntireRow.Copy Sheets("Losc").Range("A65535").End(xlUp).Offset(1,
0)
c.EntireRow.Copy
Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 7 Then
c.EntireRow.Copy
Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
Next
Chaque couleur est traitée par ces lignes :
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy
Sheets("Négatif").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 3 reprèsente le code de la couleur traitée
(ici
le 3 pour le rouge)
Sheets("Négatif") est le nom de l'onglet de destination
Si tu souhaites rajouter des couleurs tu prends un exemple de ces
lignes que
tu recopies avant le Next de la fin
Puis tu adaptes le code couleur et le nom de l'onglet de destination
Pour connaître le code couleur tu colories une cellule de cette
couleur et
aprés l'avoir sélectionné tu exécutes la macro suivante (aprés
l'avoir créée):
MsgBox (ActiveCell.Interior.ColorIndex)
Une boîte de dialogue te donneras le code couleur de cette cellule
Tu peux aussi modifier les lignes existantes dans ce code en fonction
d'une
nouvelle couleur ou d'un nouveau nom d'onglet
Je suppose qu'une seule couleur sera à traiter par fichier
Dans le cas contraire si plusieurs couleurs par fichier devaient être
recopiées dans les onglets appropriés il faudrait ihniber les ligne
"Exit
For" en mettant une cote devant ainsi :
'Exit For
Ou les supprimer
Je te joint un exemple sur ce lien :
http://www.cijoint.fr/cjlink.php?file=cj200807/cij3ViDvH2.xls.
Fais des essais et dis moi !!!!
For Each c In Worksheets("Général").Range("b4", "B" &
Worksheets("Général").Range("A65535").End(xlUp).Row)
For Each c In Worksheets("Général").Range("b4", "B" &
Worksheets("Général").Range("B65535").End(xlUp).Row)
Bonjour,
J'ai effectué les modifications préconisées mais cela ne fonctionne
toujours pas,
Voici ce que donne le fichier :
Sub Secouristes()
'
' Secouristes Macro
' Rangement des lignes dans les bons onglets
'
For Each c In Worksheets("Général").Range("b4", "B" &
Worksheets("Général").Range("A65535").End(xlUp).Row)
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy Sheets("Négatif").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 6 Then
c.EntireRow.Copy Sheets("Manque de
données").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 5 Then
c.EntireRow.Copy Sheets("Portable").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 46 Then
c.EntireRow.Copy Sheets("A Rap").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 15 Then
c.EntireRow.Copy Sheets("A Rap Avec
Date").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 42 Then
c.EntireRow.Copy Sheets("Losc").Range("A65535").End(xlUp).Offset(1, 0)
c.EntireRow.Copy Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 7 Then
c.EntireRow.Copy Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
Next
'
End Sub
@+
Romeo59181
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
eA9W0Me4IHA.1056@TK2MSFTNGP05.phx.gbl...
1°) Adapte la macro de FFO.
En effet, pour des raisons de présentation j'imagine, ta première colonne
est vide.
.Faute d'information, FFO determine la hauteur de ta base de données sur
cette colonne A.
.Modifie également le champ de destination (colonne B au lieu de A)
.Le début de ta base de données est B4 et non A1
2°) Il te faudra utiliser sa macro à chaque fois qu'une ligne sera
remplie.
Si tu as plusieurs lignes de la même couleur, elle ne traitera que la
première.
Michel
"romeo59181" <romeo59181@hotmail.com> a écrit dans le message de
news:uTZ0%23gd4IHA.3804@TK2MSFTNGP03.phx.gbl...
Bonjour,
Démarche effectuée mais toujours le même résultat ...
D'autre pistes ?
Romeo59181
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
e8L4Rbd4IHA.4800@TK2MSFTNGP02.phx.gbl...
Re Bonjour,
Le fichier de FFO te permet de recopier chaque ligne colorée dans un
onglet différent (chaque couleur correspondant à une affectation).
La macro nécessite deux légères modifications :
1°) comme je te le disais dans mon précédent message (ainsi que FFO
dans son message d'envoi du fichier) : mettre une ' devant chaque Exit
For.
En effet, ainsi écrite la macro se terminera dès qu'elle aura trouvé et
recopié la première ligne colorée.
2°) tu devras adapter cette macro sur la ligne correspondant aux lignes
concernant "Losc" et "Braderie" traitant de la même couleur 42.
Mais je ne comprends peut-être pas la question
Michel
"romeo59181" <romeo59181@hotmail.com> a écrit dans le message de
news:3DCF5170-1543-437B-B1D3-DF86DBAD3411@microsoft.com...
Bonjour,
Le tri ne effectue pas ...
Lorsque j'execute la macro la fenetre s'en va mais le tri ne se fait
pas ...
Que faire,
Veut tu mon fichier ? Mon tél ?
@+
Romeo59181
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de
groupe de discussion :
2FE2407A-BA1F-46C2-9CFA-4813ABB22E07@microsoft.com...
Rebonjour à toi
Pour créer une Macro dans ton fichier:
Outil/Macro/Nouvelle macro
Nom de la macro : mettre un nom
Ok
Cliques sur le carré bleu de l'icone "Arr"
Puis
Outil/Macro/Macros
Sélectionnes le nom de ta macro
Modifier
Entre le Sub et le End Sub mets ces lignes :
For Each c In Worksheets("Feuil1").Range("A1", "A" &
Worksheets("Feuil1").Range("A65535").End(xlUp).Row)
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy
Sheets("Négatif").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 6 Then
c.EntireRow.Copy Sheets("Manque de
données").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 5 Then
c.EntireRow.Copy
Sheets("Portable").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 46 Then
c.EntireRow.Copy Sheets("A Rap").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 15 Then
c.EntireRow.Copy Sheets("A Rap Avec
Date").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 42 Then
c.EntireRow.Copy Sheets("Losc").Range("A65535").End(xlUp).Offset(1,
0)
c.EntireRow.Copy
Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 7 Then
c.EntireRow.Copy
Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
Next
Chaque couleur est traitée par ces lignes :
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy
Sheets("Négatif").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 3 reprèsente le code de la couleur traitée
(ici
le 3 pour le rouge)
Sheets("Négatif") est le nom de l'onglet de destination
Si tu souhaites rajouter des couleurs tu prends un exemple de ces
lignes que
tu recopies avant le Next de la fin
Puis tu adaptes le code couleur et le nom de l'onglet de destination
Pour connaître le code couleur tu colories une cellule de cette
couleur et
aprés l'avoir sélectionné tu exécutes la macro suivante (aprés
l'avoir créée):
MsgBox (ActiveCell.Interior.ColorIndex)
Une boîte de dialogue te donneras le code couleur de cette cellule
Tu peux aussi modifier les lignes existantes dans ce code en fonction
d'une
nouvelle couleur ou d'un nouveau nom d'onglet
Je suppose qu'une seule couleur sera à traiter par fichier
Dans le cas contraire si plusieurs couleurs par fichier devaient être
recopiées dans les onglets appropriés il faudrait ihniber les ligne
"Exit
For" en mettant une cote devant ainsi :
'Exit For
Ou les supprimer
Je te joint un exemple sur ce lien :
http://www.cijoint.fr/cjlink.php?file=cj200807/cij3ViDvH2.xls.
Fais des essais et dis moi !!!!
For Each c In Worksheets("Général").Range("b4", "B" &
Worksheets("Général").Range("A65535").End(xlUp).Row)
For Each c In Worksheets("Général").Range("b4", "B" &
Worksheets("Général").Range("B65535").End(xlUp).Row)
Bonjour,
J'ai effectué les modifications préconisées mais cela ne fonctionne
toujours pas,
Voici ce que donne le fichier :
Sub Secouristes()
'
' Secouristes Macro
' Rangement des lignes dans les bons onglets
'
For Each c In Worksheets("Général").Range("b4", "B" &
Worksheets("Général").Range("A65535").End(xlUp).Row)
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy Sheets("Négatif").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 6 Then
c.EntireRow.Copy Sheets("Manque de
données").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 5 Then
c.EntireRow.Copy Sheets("Portable").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 46 Then
c.EntireRow.Copy Sheets("A Rap").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 15 Then
c.EntireRow.Copy Sheets("A Rap Avec
Date").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 42 Then
c.EntireRow.Copy Sheets("Losc").Range("A65535").End(xlUp).Offset(1, 0)
c.EntireRow.Copy Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 7 Then
c.EntireRow.Copy Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
Next
'
End Sub
@+
Romeo59181
"Péhemme" a écrit dans le message de groupe de discussion :1°) Adapte la macro de FFO.
En effet, pour des raisons de présentation j'imagine, ta première colonne
est vide.
.Faute d'information, FFO determine la hauteur de ta base de données sur
cette colonne A.
.Modifie également le champ de destination (colonne B au lieu de A)
.Le début de ta base de données est B4 et non A1
2°) Il te faudra utiliser sa macro à chaque fois qu'une ligne sera
remplie.
Si tu as plusieurs lignes de la même couleur, elle ne traitera que la
première.
Michel
"romeo59181" a écrit dans le message de
news:uTZ0%Bonjour,
Démarche effectuée mais toujours le même résultat ...
D'autre pistes ?
Romeo59181
"Péhemme" a écrit dans le message de groupe de discussion :Re Bonjour,
Le fichier de FFO te permet de recopier chaque ligne colorée dans un
onglet différent (chaque couleur correspondant à une affectation).
La macro nécessite deux légères modifications :
1°) comme je te le disais dans mon précédent message (ainsi que FFO
dans son message d'envoi du fichier) : mettre une ' devant chaque Exit
For.
En effet, ainsi écrite la macro se terminera dès qu'elle aura trouvé et
recopié la première ligne colorée.
2°) tu devras adapter cette macro sur la ligne correspondant aux lignes
concernant "Losc" et "Braderie" traitant de la même couleur 42.
Mais je ne comprends peut-être pas la question
Michel
"romeo59181" a écrit dans le message de
news:Bonjour,
Le tri ne effectue pas ...
Lorsque j'execute la macro la fenetre s'en va mais le tri ne se fait
pas ...
Que faire,
Veut tu mon fichier ? Mon tél ?
@+
Romeo59181
"FFO" a écrit dans le message de
groupe de discussion :Rebonjour à toi
Pour créer une Macro dans ton fichier:
Outil/Macro/Nouvelle macro
Nom de la macro : mettre un nom
Ok
Cliques sur le carré bleu de l'icone "Arr"
Puis
Outil/Macro/Macros
Sélectionnes le nom de ta macro
Modifier
Entre le Sub et le End Sub mets ces lignes :
For Each c In Worksheets("Feuil1").Range("A1", "A" &
Worksheets("Feuil1").Range("A65535").End(xlUp).Row)
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy
Sheets("Négatif").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 6 Then
c.EntireRow.Copy Sheets("Manque de
données").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 5 Then
c.EntireRow.Copy
Sheets("Portable").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 46 Then
c.EntireRow.Copy Sheets("A Rap").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 15 Then
c.EntireRow.Copy Sheets("A Rap Avec
Date").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 42 Then
c.EntireRow.Copy Sheets("Losc").Range("A65535").End(xlUp).Offset(1,
0)
c.EntireRow.Copy
Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 7 Then
c.EntireRow.Copy
Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
Next
Chaque couleur est traitée par ces lignes :
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy
Sheets("Négatif").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 3 reprèsente le code de la couleur traitée
(ici
le 3 pour le rouge)
Sheets("Négatif") est le nom de l'onglet de destination
Si tu souhaites rajouter des couleurs tu prends un exemple de ces
lignes que
tu recopies avant le Next de la fin
Puis tu adaptes le code couleur et le nom de l'onglet de destination
Pour connaître le code couleur tu colories une cellule de cette
couleur et
aprés l'avoir sélectionné tu exécutes la macro suivante (aprés
l'avoir créée):
MsgBox (ActiveCell.Interior.ColorIndex)
Une boîte de dialogue te donneras le code couleur de cette cellule
Tu peux aussi modifier les lignes existantes dans ce code en fonction
d'une
nouvelle couleur ou d'un nouveau nom d'onglet
Je suppose qu'une seule couleur sera à traiter par fichier
Dans le cas contraire si plusieurs couleurs par fichier devaient être
recopiées dans les onglets appropriés il faudrait ihniber les ligne
"Exit
For" en mettant une cote devant ainsi :
'Exit For
Ou les supprimer
Je te joint un exemple sur ce lien :
http://www.cijoint.fr/cjlink.php?file=cj200807/cij3ViDvH2.xls.
Fais des essais et dis moi !!!!
Tes modifications sont incomplètes.
Entre autre, au lieu de :For Each c In Worksheets("Général").Range("b4", "B" &
Worksheets("Général").Range("A65535").End(xlUp).Row)
écrire :For Each c In Worksheets("Général").Range("b4", "B" &
Worksheets("Général").Range("B65535").End(xlUp).Row)
Cela dit, toute la ligne étant copiée, soit tu modifies ta présentation en
supprimant ta colonne A, soit dans ta macro tu ne recopies que la partie
de la ligne concernée (dans ton exemple Bx:ABx) que tu dois préciser dans
ta macro et adaptée les destinations dans ta macro.. bref, un peu de
boulot.
Par ailleurs et si je puis me permettre, il me semble que tu abordes mal
ton problème. Faire une ventilation d'informations par macro au départ de
couleurs, c'est vraiment se casser la tête pour rien.
Une colonne avec une information supplémentaire, un tri automatique et un
bon copier/coller dans une autre page aurait AMHA été plus efficace (mais
ta présentation ne s'y prête pas).
Bon courage.
Michel
"romeo59181" a écrit dans le message de
news:Bonjour,
J'ai effectué les modifications préconisées mais cela ne fonctionne
toujours pas,
Voici ce que donne le fichier :
Sub Secouristes()
'
' Secouristes Macro
' Rangement des lignes dans les bons onglets
'
For Each c In Worksheets("Général").Range("b4", "B" &
Worksheets("Général").Range("A65535").End(xlUp).Row)
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy Sheets("Négatif").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 6 Then
c.EntireRow.Copy Sheets("Manque de
données").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 5 Then
c.EntireRow.Copy Sheets("Portable").Range("A65535").End(xlUp).Offset(1,
0)
'Exit For
End If
If c.Interior.ColorIndex = 46 Then
c.EntireRow.Copy Sheets("A Rap").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 15 Then
c.EntireRow.Copy Sheets("A Rap Avec
Date").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 42 Then
c.EntireRow.Copy Sheets("Losc").Range("A65535").End(xlUp).Offset(1, 0)
c.EntireRow.Copy Sheets("Braderie").Range("A65535").End(xlUp).Offset(1,
0)
'Exit For
End If
If c.Interior.ColorIndex = 7 Then
c.EntireRow.Copy Sheets("Braderie").Range("A65535").End(xlUp).Offset(1,
0)
'Exit For
End If
Next
'
End Sub
@+
Romeo59181
"Péhemme" a écrit dans le message de groupe de discussion :1°) Adapte la macro de FFO.
En effet, pour des raisons de présentation j'imagine, ta première
colonne est vide.
.Faute d'information, FFO determine la hauteur de ta base de données sur
cette colonne A.
.Modifie également le champ de destination (colonne B au lieu de A)
.Le début de ta base de données est B4 et non A1
2°) Il te faudra utiliser sa macro à chaque fois qu'une ligne sera
remplie.
Si tu as plusieurs lignes de la même couleur, elle ne traitera que la
première.
Michel
"romeo59181" a écrit dans le message de
news:uTZ0%Bonjour,
Démarche effectuée mais toujours le même résultat ...
D'autre pistes ?
Romeo59181
"Péhemme" a écrit dans le message de groupe de discussion :Re Bonjour,
Le fichier de FFO te permet de recopier chaque ligne colorée dans un
onglet différent (chaque couleur correspondant à une affectation).
La macro nécessite deux légères modifications :
1°) comme je te le disais dans mon précédent message (ainsi que FFO
dans son message d'envoi du fichier) : mettre une ' devant chaque Exit
For.
En effet, ainsi écrite la macro se terminera dès qu'elle aura trouvé
et recopié la première ligne colorée.
2°) tu devras adapter cette macro sur la ligne correspondant aux
lignes concernant "Losc" et "Braderie" traitant de la même couleur 42.
Mais je ne comprends peut-être pas la question
Michel
"romeo59181" a écrit dans le message de
news:Bonjour,
Le tri ne effectue pas ...
Lorsque j'execute la macro la fenetre s'en va mais le tri ne se fait
pas ...
Que faire,
Veut tu mon fichier ? Mon tél ?
@+
Romeo59181
"FFO" a écrit dans le message de
groupe de discussion :Rebonjour à toi
Pour créer une Macro dans ton fichier:
Outil/Macro/Nouvelle macro
Nom de la macro : mettre un nom
Ok
Cliques sur le carré bleu de l'icone "Arr"
Puis
Outil/Macro/Macros
Sélectionnes le nom de ta macro
Modifier
Entre le Sub et le End Sub mets ces lignes :
For Each c In Worksheets("Feuil1").Range("A1", "A" &
Worksheets("Feuil1").Range("A65535").End(xlUp).Row)
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy
Sheets("Négatif").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 6 Then
c.EntireRow.Copy Sheets("Manque de
données").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 5 Then
c.EntireRow.Copy
Sheets("Portable").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 46 Then
c.EntireRow.Copy Sheets("A Rap").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 15 Then
c.EntireRow.Copy Sheets("A Rap Avec
Date").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 42 Then
c.EntireRow.Copy Sheets("Losc").Range("A65535").End(xlUp).Offset(1,
0)
c.EntireRow.Copy
Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 7 Then
c.EntireRow.Copy
Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
Next
Chaque couleur est traitée par ces lignes :
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy
Sheets("Négatif").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 3 reprèsente le code de la couleur
traitée (ici
le 3 pour le rouge)
Sheets("Négatif") est le nom de l'onglet de destination
Si tu souhaites rajouter des couleurs tu prends un exemple de ces
lignes que
tu recopies avant le Next de la fin
Puis tu adaptes le code couleur et le nom de l'onglet de destination
Pour connaître le code couleur tu colories une cellule de cette
couleur et
aprés l'avoir sélectionné tu exécutes la macro suivante (aprés
l'avoir créée):
MsgBox (ActiveCell.Interior.ColorIndex)
Une boîte de dialogue te donneras le code couleur de cette cellule
Tu peux aussi modifier les lignes existantes dans ce code en
fonction d'une
nouvelle couleur ou d'un nouveau nom d'onglet
Je suppose qu'une seule couleur sera à traiter par fichier
Dans le cas contraire si plusieurs couleurs par fichier devaient
être
recopiées dans les onglets appropriés il faudrait ihniber les ligne
"Exit
For" en mettant une cote devant ainsi :
'Exit For
Ou les supprimer
Je te joint un exemple sur ce lien :
http://www.cijoint.fr/cjlink.php?file=cj200807/cij3ViDvH2.xls.
Fais des essais et dis moi !!!!
Tes modifications sont incomplètes.
Entre autre, au lieu de :
For Each c In Worksheets("Général").Range("b4", "B" &
Worksheets("Général").Range("A65535").End(xlUp).Row)
écrire :
For Each c In Worksheets("Général").Range("b4", "B" &
Worksheets("Général").Range("B65535").End(xlUp).Row)
Cela dit, toute la ligne étant copiée, soit tu modifies ta présentation en
supprimant ta colonne A, soit dans ta macro tu ne recopies que la partie
de la ligne concernée (dans ton exemple Bx:ABx) que tu dois préciser dans
ta macro et adaptée les destinations dans ta macro.. bref, un peu de
boulot.
Par ailleurs et si je puis me permettre, il me semble que tu abordes mal
ton problème. Faire une ventilation d'informations par macro au départ de
couleurs, c'est vraiment se casser la tête pour rien.
Une colonne avec une information supplémentaire, un tri automatique et un
bon copier/coller dans une autre page aurait AMHA été plus efficace (mais
ta présentation ne s'y prête pas).
Bon courage.
Michel
"romeo59181" <romeo59181@hotmail.com> a écrit dans le message de
news:u0r06Te4IHA.4856@TK2MSFTNGP02.phx.gbl...
Bonjour,
J'ai effectué les modifications préconisées mais cela ne fonctionne
toujours pas,
Voici ce que donne le fichier :
Sub Secouristes()
'
' Secouristes Macro
' Rangement des lignes dans les bons onglets
'
For Each c In Worksheets("Général").Range("b4", "B" &
Worksheets("Général").Range("A65535").End(xlUp).Row)
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy Sheets("Négatif").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 6 Then
c.EntireRow.Copy Sheets("Manque de
données").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 5 Then
c.EntireRow.Copy Sheets("Portable").Range("A65535").End(xlUp).Offset(1,
0)
'Exit For
End If
If c.Interior.ColorIndex = 46 Then
c.EntireRow.Copy Sheets("A Rap").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 15 Then
c.EntireRow.Copy Sheets("A Rap Avec
Date").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 42 Then
c.EntireRow.Copy Sheets("Losc").Range("A65535").End(xlUp).Offset(1, 0)
c.EntireRow.Copy Sheets("Braderie").Range("A65535").End(xlUp).Offset(1,
0)
'Exit For
End If
If c.Interior.ColorIndex = 7 Then
c.EntireRow.Copy Sheets("Braderie").Range("A65535").End(xlUp).Offset(1,
0)
'Exit For
End If
Next
'
End Sub
@+
Romeo59181
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
eA9W0Me4IHA.1056@TK2MSFTNGP05.phx.gbl...
1°) Adapte la macro de FFO.
En effet, pour des raisons de présentation j'imagine, ta première
colonne est vide.
.Faute d'information, FFO determine la hauteur de ta base de données sur
cette colonne A.
.Modifie également le champ de destination (colonne B au lieu de A)
.Le début de ta base de données est B4 et non A1
2°) Il te faudra utiliser sa macro à chaque fois qu'une ligne sera
remplie.
Si tu as plusieurs lignes de la même couleur, elle ne traitera que la
première.
Michel
"romeo59181" <romeo59181@hotmail.com> a écrit dans le message de
news:uTZ0%23gd4IHA.3804@TK2MSFTNGP03.phx.gbl...
Bonjour,
Démarche effectuée mais toujours le même résultat ...
D'autre pistes ?
Romeo59181
"Péhemme" <xx@xx.xx> a écrit dans le message de groupe de discussion :
e8L4Rbd4IHA.4800@TK2MSFTNGP02.phx.gbl...
Re Bonjour,
Le fichier de FFO te permet de recopier chaque ligne colorée dans un
onglet différent (chaque couleur correspondant à une affectation).
La macro nécessite deux légères modifications :
1°) comme je te le disais dans mon précédent message (ainsi que FFO
dans son message d'envoi du fichier) : mettre une ' devant chaque Exit
For.
En effet, ainsi écrite la macro se terminera dès qu'elle aura trouvé
et recopié la première ligne colorée.
2°) tu devras adapter cette macro sur la ligne correspondant aux
lignes concernant "Losc" et "Braderie" traitant de la même couleur 42.
Mais je ne comprends peut-être pas la question
Michel
"romeo59181" <romeo59181@hotmail.com> a écrit dans le message de
news:3DCF5170-1543-437B-B1D3-DF86DBAD3411@microsoft.com...
Bonjour,
Le tri ne effectue pas ...
Lorsque j'execute la macro la fenetre s'en va mais le tri ne se fait
pas ...
Que faire,
Veut tu mon fichier ? Mon tél ?
@+
Romeo59181
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de
groupe de discussion :
2FE2407A-BA1F-46C2-9CFA-4813ABB22E07@microsoft.com...
Rebonjour à toi
Pour créer une Macro dans ton fichier:
Outil/Macro/Nouvelle macro
Nom de la macro : mettre un nom
Ok
Cliques sur le carré bleu de l'icone "Arr"
Puis
Outil/Macro/Macros
Sélectionnes le nom de ta macro
Modifier
Entre le Sub et le End Sub mets ces lignes :
For Each c In Worksheets("Feuil1").Range("A1", "A" &
Worksheets("Feuil1").Range("A65535").End(xlUp).Row)
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy
Sheets("Négatif").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 6 Then
c.EntireRow.Copy Sheets("Manque de
données").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 5 Then
c.EntireRow.Copy
Sheets("Portable").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 46 Then
c.EntireRow.Copy Sheets("A Rap").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 15 Then
c.EntireRow.Copy Sheets("A Rap Avec
Date").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 42 Then
c.EntireRow.Copy Sheets("Losc").Range("A65535").End(xlUp).Offset(1,
0)
c.EntireRow.Copy
Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 7 Then
c.EntireRow.Copy
Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
Next
Chaque couleur est traitée par ces lignes :
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy
Sheets("Négatif").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 3 reprèsente le code de la couleur
traitée (ici
le 3 pour le rouge)
Sheets("Négatif") est le nom de l'onglet de destination
Si tu souhaites rajouter des couleurs tu prends un exemple de ces
lignes que
tu recopies avant le Next de la fin
Puis tu adaptes le code couleur et le nom de l'onglet de destination
Pour connaître le code couleur tu colories une cellule de cette
couleur et
aprés l'avoir sélectionné tu exécutes la macro suivante (aprés
l'avoir créée):
MsgBox (ActiveCell.Interior.ColorIndex)
Une boîte de dialogue te donneras le code couleur de cette cellule
Tu peux aussi modifier les lignes existantes dans ce code en
fonction d'une
nouvelle couleur ou d'un nouveau nom d'onglet
Je suppose qu'une seule couleur sera à traiter par fichier
Dans le cas contraire si plusieurs couleurs par fichier devaient
être
recopiées dans les onglets appropriés il faudrait ihniber les ligne
"Exit
For" en mettant une cote devant ainsi :
'Exit For
Ou les supprimer
Je te joint un exemple sur ce lien :
http://www.cijoint.fr/cjlink.php?file=cj200807/cij3ViDvH2.xls.
Fais des essais et dis moi !!!!
Tes modifications sont incomplètes.
Entre autre, au lieu de :For Each c In Worksheets("Général").Range("b4", "B" &
Worksheets("Général").Range("A65535").End(xlUp).Row)
écrire :For Each c In Worksheets("Général").Range("b4", "B" &
Worksheets("Général").Range("B65535").End(xlUp).Row)
Cela dit, toute la ligne étant copiée, soit tu modifies ta présentation en
supprimant ta colonne A, soit dans ta macro tu ne recopies que la partie
de la ligne concernée (dans ton exemple Bx:ABx) que tu dois préciser dans
ta macro et adaptée les destinations dans ta macro.. bref, un peu de
boulot.
Par ailleurs et si je puis me permettre, il me semble que tu abordes mal
ton problème. Faire une ventilation d'informations par macro au départ de
couleurs, c'est vraiment se casser la tête pour rien.
Une colonne avec une information supplémentaire, un tri automatique et un
bon copier/coller dans une autre page aurait AMHA été plus efficace (mais
ta présentation ne s'y prête pas).
Bon courage.
Michel
"romeo59181" a écrit dans le message de
news:Bonjour,
J'ai effectué les modifications préconisées mais cela ne fonctionne
toujours pas,
Voici ce que donne le fichier :
Sub Secouristes()
'
' Secouristes Macro
' Rangement des lignes dans les bons onglets
'
For Each c In Worksheets("Général").Range("b4", "B" &
Worksheets("Général").Range("A65535").End(xlUp).Row)
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy Sheets("Négatif").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 6 Then
c.EntireRow.Copy Sheets("Manque de
données").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 5 Then
c.EntireRow.Copy Sheets("Portable").Range("A65535").End(xlUp).Offset(1,
0)
'Exit For
End If
If c.Interior.ColorIndex = 46 Then
c.EntireRow.Copy Sheets("A Rap").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 15 Then
c.EntireRow.Copy Sheets("A Rap Avec
Date").Range("A65535").End(xlUp).Offset(1, 0)
'Exit For
End If
If c.Interior.ColorIndex = 42 Then
c.EntireRow.Copy Sheets("Losc").Range("A65535").End(xlUp).Offset(1, 0)
c.EntireRow.Copy Sheets("Braderie").Range("A65535").End(xlUp).Offset(1,
0)
'Exit For
End If
If c.Interior.ColorIndex = 7 Then
c.EntireRow.Copy Sheets("Braderie").Range("A65535").End(xlUp).Offset(1,
0)
'Exit For
End If
Next
'
End Sub
@+
Romeo59181
"Péhemme" a écrit dans le message de groupe de discussion :1°) Adapte la macro de FFO.
En effet, pour des raisons de présentation j'imagine, ta première
colonne est vide.
.Faute d'information, FFO determine la hauteur de ta base de données sur
cette colonne A.
.Modifie également le champ de destination (colonne B au lieu de A)
.Le début de ta base de données est B4 et non A1
2°) Il te faudra utiliser sa macro à chaque fois qu'une ligne sera
remplie.
Si tu as plusieurs lignes de la même couleur, elle ne traitera que la
première.
Michel
"romeo59181" a écrit dans le message de
news:uTZ0%Bonjour,
Démarche effectuée mais toujours le même résultat ...
D'autre pistes ?
Romeo59181
"Péhemme" a écrit dans le message de groupe de discussion :Re Bonjour,
Le fichier de FFO te permet de recopier chaque ligne colorée dans un
onglet différent (chaque couleur correspondant à une affectation).
La macro nécessite deux légères modifications :
1°) comme je te le disais dans mon précédent message (ainsi que FFO
dans son message d'envoi du fichier) : mettre une ' devant chaque Exit
For.
En effet, ainsi écrite la macro se terminera dès qu'elle aura trouvé
et recopié la première ligne colorée.
2°) tu devras adapter cette macro sur la ligne correspondant aux
lignes concernant "Losc" et "Braderie" traitant de la même couleur 42.
Mais je ne comprends peut-être pas la question
Michel
"romeo59181" a écrit dans le message de
news:Bonjour,
Le tri ne effectue pas ...
Lorsque j'execute la macro la fenetre s'en va mais le tri ne se fait
pas ...
Que faire,
Veut tu mon fichier ? Mon tél ?
@+
Romeo59181
"FFO" a écrit dans le message de
groupe de discussion :Rebonjour à toi
Pour créer une Macro dans ton fichier:
Outil/Macro/Nouvelle macro
Nom de la macro : mettre un nom
Ok
Cliques sur le carré bleu de l'icone "Arr"
Puis
Outil/Macro/Macros
Sélectionnes le nom de ta macro
Modifier
Entre le Sub et le End Sub mets ces lignes :
For Each c In Worksheets("Feuil1").Range("A1", "A" &
Worksheets("Feuil1").Range("A65535").End(xlUp).Row)
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy
Sheets("Négatif").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 6 Then
c.EntireRow.Copy Sheets("Manque de
données").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 5 Then
c.EntireRow.Copy
Sheets("Portable").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 46 Then
c.EntireRow.Copy Sheets("A Rap").Range("A65535").End(xlUp).Offset(1,
0)
Exit For
End If
If c.Interior.ColorIndex = 15 Then
c.EntireRow.Copy Sheets("A Rap Avec
Date").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 42 Then
c.EntireRow.Copy Sheets("Losc").Range("A65535").End(xlUp).Offset(1,
0)
c.EntireRow.Copy
Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 7 Then
c.EntireRow.Copy
Sheets("Braderie").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
Next
Chaque couleur est traitée par ces lignes :
If c.Interior.ColorIndex = 3 Then
c.EntireRow.Copy
Sheets("Négatif").Range("A65535").End(xlUp).Offset(1, 0)
Exit For
End If
If c.Interior.ColorIndex = 3 reprèsente le code de la couleur
traitée (ici
le 3 pour le rouge)
Sheets("Négatif") est le nom de l'onglet de destination
Si tu souhaites rajouter des couleurs tu prends un exemple de ces
lignes que
tu recopies avant le Next de la fin
Puis tu adaptes le code couleur et le nom de l'onglet de destination
Pour connaître le code couleur tu colories une cellule de cette
couleur et
aprés l'avoir sélectionné tu exécutes la macro suivante (aprés
l'avoir créée):
MsgBox (ActiveCell.Interior.ColorIndex)
Une boîte de dialogue te donneras le code couleur de cette cellule
Tu peux aussi modifier les lignes existantes dans ce code en
fonction d'une
nouvelle couleur ou d'un nouveau nom d'onglet
Je suppose qu'une seule couleur sera à traiter par fichier
Dans le cas contraire si plusieurs couleurs par fichier devaient
être
recopiées dans les onglets appropriés il faudrait ihniber les ligne
"Exit
For" en mettant une cote devant ainsi :
'Exit For
Ou les supprimer
Je te joint un exemple sur ce lien :
http://www.cijoint.fr/cjlink.php?file=cj200807/cij3ViDvH2.xls.
Fais des essais et dis moi !!!!
À essayer , il se peut qu'il y ai une adaptation des codes des couleurs à
réaliser dans la routine, sur la ligne suivante:
aa = Switch(Cc = 3, "Négatif", Cc = 6, "Manque de données", Cc = 23,
"Portable", Cc = 44, "A Rap", Cc = 48, "A Rap Avec Date" _
, Cc = 4, "Losc", Cc = 7, "Braderie")
Une boucle mise en REM permet de connaitre ces codes.
http://cjoint.com/?hkaAuxze0n
"romeo59181" a écrit dans le message de news:
Bonjour,
Je recherche une solution pour mon fichier excel 2007 ...
C'est un fichier d'environ 3000 lignes de type annuaire,
Tous les jours mon fichier est modifier en mettant une ligne en couleur
...
Ce que je recherche c'est une solution macro ou autre pour que ma ligne
colorée aille automatiquement sous une feuille donnée ...
En espérant avoir été clair,
Romeo59181
À essayer , il se peut qu'il y ai une adaptation des codes des couleurs à
réaliser dans la routine, sur la ligne suivante:
aa = Switch(Cc = 3, "Négatif", Cc = 6, "Manque de données", Cc = 23,
"Portable", Cc = 44, "A Rap", Cc = 48, "A Rap Avec Date" _
, Cc = 4, "Losc", Cc = 7, "Braderie")
Une boucle mise en REM permet de connaitre ces codes.
http://cjoint.com/?hkaAuxze0n
"romeo59181" <romeo59181@hotmail.com> a écrit dans le message de news:
C91F3CBA-D5CB-4606-9F9D-7C498861B77E@microsoft.com...
Bonjour,
Je recherche une solution pour mon fichier excel 2007 ...
C'est un fichier d'environ 3000 lignes de type annuaire,
Tous les jours mon fichier est modifier en mettant une ligne en couleur
...
Ce que je recherche c'est une solution macro ou autre pour que ma ligne
colorée aille automatiquement sous une feuille donnée ...
En espérant avoir été clair,
Romeo59181
À essayer , il se peut qu'il y ai une adaptation des codes des couleurs à
réaliser dans la routine, sur la ligne suivante:
aa = Switch(Cc = 3, "Négatif", Cc = 6, "Manque de données", Cc = 23,
"Portable", Cc = 44, "A Rap", Cc = 48, "A Rap Avec Date" _
, Cc = 4, "Losc", Cc = 7, "Braderie")
Une boucle mise en REM permet de connaitre ces codes.
http://cjoint.com/?hkaAuxze0n
"romeo59181" a écrit dans le message de news:
Bonjour,
Je recherche une solution pour mon fichier excel 2007 ...
C'est un fichier d'environ 3000 lignes de type annuaire,
Tous les jours mon fichier est modifier en mettant une ligne en couleur
...
Ce que je recherche c'est une solution macro ou autre pour que ma ligne
colorée aille automatiquement sous une feuille donnée ...
En espérant avoir été clair,
Romeo59181
Rebonjour à toi
Je reprends le fil de la discussion
Heureux que tu y soit arrivé avec les précieux conseils de Péhemme
Une petite amélioration qui t'évitera le problème lié au remplissage des
colonnes
Change la ligne :
For Each c In Worksheets("Général").Range("b4", "B" &
Worksheets("Général").Range("B65535").End(xlUp).Row)
Par :
For Each c In Worksheets("Général").Range("B4", "B" &
Worksheets("Général").Range("B1").SpecialCells(xlLastCell).Row)
Quelque soit la colonne qui porte le plus de données la macro prendra
l'intégralité des lignes à traiter
Pour supprimer les lignes dans l'Onglet "Général" tu peux rajouter la
ligne :
c.EntireRow.Clear juste avant chaque "End If" ou avant le Exit For si tu
ne
l'as pas supprimé en mettant une cote
Celà aura pour effet de vider la ligne colorée dans l'onglet "Général"
mais
pas de la supprimer
Est ce suffisant
Dis moi !!!!
Rebonjour à toi
Je reprends le fil de la discussion
Heureux que tu y soit arrivé avec les précieux conseils de Péhemme
Une petite amélioration qui t'évitera le problème lié au remplissage des
colonnes
Change la ligne :
For Each c In Worksheets("Général").Range("b4", "B" &
Worksheets("Général").Range("B65535").End(xlUp).Row)
Par :
For Each c In Worksheets("Général").Range("B4", "B" &
Worksheets("Général").Range("B1").SpecialCells(xlLastCell).Row)
Quelque soit la colonne qui porte le plus de données la macro prendra
l'intégralité des lignes à traiter
Pour supprimer les lignes dans l'Onglet "Général" tu peux rajouter la
ligne :
c.EntireRow.Clear juste avant chaque "End If" ou avant le Exit For si tu
ne
l'as pas supprimé en mettant une cote
Celà aura pour effet de vider la ligne colorée dans l'onglet "Général"
mais
pas de la supprimer
Est ce suffisant
Dis moi !!!!
Rebonjour à toi
Je reprends le fil de la discussion
Heureux que tu y soit arrivé avec les précieux conseils de Péhemme
Une petite amélioration qui t'évitera le problème lié au remplissage des
colonnes
Change la ligne :
For Each c In Worksheets("Général").Range("b4", "B" &
Worksheets("Général").Range("B65535").End(xlUp).Row)
Par :
For Each c In Worksheets("Général").Range("B4", "B" &
Worksheets("Général").Range("B1").SpecialCells(xlLastCell).Row)
Quelque soit la colonne qui porte le plus de données la macro prendra
l'intégralité des lignes à traiter
Pour supprimer les lignes dans l'Onglet "Général" tu peux rajouter la
ligne :
c.EntireRow.Clear juste avant chaque "End If" ou avant le Exit For si tu
ne
l'as pas supprimé en mettant une cote
Celà aura pour effet de vider la ligne colorée dans l'onglet "Général"
mais
pas de la supprimer
Est ce suffisant
Dis moi !!!!
Même avec ta modification j'ai toujours un petit soucis avec mes colonnes de
rab car en exécutant la macro uniquement la dernière ligne correspondante à
mes critères se trie ...
Même avec ta modification j'ai toujours un petit soucis avec mes colonnes de
rab car en exécutant la macro uniquement la dernière ligne correspondante à
mes critères se trie ...
Même avec ta modification j'ai toujours un petit soucis avec mes colonnes de
rab car en exécutant la macro uniquement la dernière ligne correspondante à
mes critères se trie ...