Bonjour,
Dans un fichier excel, j'ai mis en place des projets avec différentes dates
dans une 1ere colonne, j'ai une date (quand a été commencé le projet), et
dans une deuxième colonne, une autre date avec la fin du projet.
Si la date de fin projet est supérieure à la date d'aujourd'hui, alors la
couleur de remplissage passe a bleu. (ca c'est bon)
Là ou j'ai besoin de vous :
J'aimerais faire un bouton, que quand on clique dessus, ça imprime toutes
les lignes avec une couleur de remplissage bleue.
--
Merci de votre aide
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
ChrisV
Bonjour squeepy,
Tu peux obtenir ça directement avec un filtre (auto ou pers.) sur la colonne Dates... Si problème, relance...
ChrisV
"squeepy" a écrit dans le message de news:
Bonjour, Dans un fichier excel, j'ai mis en place des projets avec différentes dates dans une 1ere colonne, j'ai une date (quand a été commencé le projet), et dans une deuxième colonne, une autre date avec la fin du projet. Si la date de fin projet est supérieure à la date d'aujourd'hui, alors la couleur de remplissage passe a bleu. (ca c'est bon) Là ou j'ai besoin de vous : J'aimerais faire un bouton, que quand on clique dessus, ça imprime toutes les lignes avec une couleur de remplissage bleue. -- Merci de votre aide
Bonjour squeepy,
Tu peux obtenir ça directement avec un filtre (auto ou pers.) sur la colonne
Dates...
Si problème, relance...
ChrisV
"squeepy" <squeepy@discussions.microsoft.com> a écrit dans le message de
news: D75E808A-CC1A-4340-A294-AAF929FB134A@microsoft.com...
Bonjour,
Dans un fichier excel, j'ai mis en place des projets avec différentes
dates
dans une 1ere colonne, j'ai une date (quand a été commencé le projet), et
dans une deuxième colonne, une autre date avec la fin du projet.
Si la date de fin projet est supérieure à la date d'aujourd'hui, alors la
couleur de remplissage passe a bleu. (ca c'est bon)
Là ou j'ai besoin de vous :
J'aimerais faire un bouton, que quand on clique dessus, ça imprime toutes
les lignes avec une couleur de remplissage bleue.
--
Merci de votre aide
Tu peux obtenir ça directement avec un filtre (auto ou pers.) sur la colonne Dates... Si problème, relance...
ChrisV
"squeepy" a écrit dans le message de news:
Bonjour, Dans un fichier excel, j'ai mis en place des projets avec différentes dates dans une 1ere colonne, j'ai une date (quand a été commencé le projet), et dans une deuxième colonne, une autre date avec la fin du projet. Si la date de fin projet est supérieure à la date d'aujourd'hui, alors la couleur de remplissage passe a bleu. (ca c'est bon) Là ou j'ai besoin de vous : J'aimerais faire un bouton, que quand on clique dessus, ça imprime toutes les lignes avec une couleur de remplissage bleue. -- Merci de votre aide
Cage à lapins
Bonjour,
C'est juste une idée : Il faudrait masquer les lignes qui ne sont pas bleues Donc on aurait une boucle qui traiterait toutes les lignes, testerait la couleur de fond et masquerait la ligne si elle a un fond bleu. A l'impression seulles les lignes non masquées sont imprimées. Exemple en imaginant que COL contient le n° de la colonne à tester et BLEU l'index de ta couleur de remplissage : ligne=[N° de la 1ere ligne] do while not(isempty(cells(ligne, COL))) if cells(ligne,col).Interior.ColorIndex <> BLEU then cells(ligne,col).EntireRow.Hidden = True end if ligne=ligne+1 loop ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
"squeepy" wrote:
Bonjour, Dans un fichier excel, j'ai mis en place des projets avec différentes dates dans une 1ere colonne, j'ai une date (quand a été commencé le projet), et dans une deuxième colonne, une autre date avec la fin du projet. Si la date de fin projet est supérieure à la date d'aujourd'hui, alors la couleur de remplissage passe a bleu. (ca c'est bon) Là ou j'ai besoin de vous : J'aimerais faire un bouton, que quand on clique dessus, ça imprime toutes les lignes avec une couleur de remplissage bleue. -- Merci de votre aide
Bonjour,
C'est juste une idée :
Il faudrait masquer les lignes qui ne sont pas bleues
Donc on aurait une boucle qui traiterait toutes les lignes, testerait la
couleur de fond et masquerait la ligne si elle a un fond bleu. A l'impression
seulles les lignes non masquées sont imprimées.
Exemple en imaginant que COL contient le n° de la colonne à tester et BLEU
l'index de ta couleur de remplissage :
ligne=[N° de la 1ere ligne]
do while not(isempty(cells(ligne, COL)))
if cells(ligne,col).Interior.ColorIndex <> BLEU then
cells(ligne,col).EntireRow.Hidden = True
end if
ligne=ligne+1
loop
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
"squeepy" wrote:
Bonjour,
Dans un fichier excel, j'ai mis en place des projets avec différentes dates
dans une 1ere colonne, j'ai une date (quand a été commencé le projet), et
dans une deuxième colonne, une autre date avec la fin du projet.
Si la date de fin projet est supérieure à la date d'aujourd'hui, alors la
couleur de remplissage passe a bleu. (ca c'est bon)
Là ou j'ai besoin de vous :
J'aimerais faire un bouton, que quand on clique dessus, ça imprime toutes
les lignes avec une couleur de remplissage bleue.
--
Merci de votre aide
C'est juste une idée : Il faudrait masquer les lignes qui ne sont pas bleues Donc on aurait une boucle qui traiterait toutes les lignes, testerait la couleur de fond et masquerait la ligne si elle a un fond bleu. A l'impression seulles les lignes non masquées sont imprimées. Exemple en imaginant que COL contient le n° de la colonne à tester et BLEU l'index de ta couleur de remplissage : ligne=[N° de la 1ere ligne] do while not(isempty(cells(ligne, COL))) if cells(ligne,col).Interior.ColorIndex <> BLEU then cells(ligne,col).EntireRow.Hidden = True end if ligne=ligne+1 loop ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
"squeepy" wrote:
Bonjour, Dans un fichier excel, j'ai mis en place des projets avec différentes dates dans une 1ere colonne, j'ai une date (quand a été commencé le projet), et dans une deuxième colonne, une autre date avec la fin du projet. Si la date de fin projet est supérieure à la date d'aujourd'hui, alors la couleur de remplissage passe a bleu. (ca c'est bon) Là ou j'ai besoin de vous : J'aimerais faire un bouton, que quand on clique dessus, ça imprime toutes les lignes avec une couleur de remplissage bleue. -- Merci de votre aide
squeepy
ok, je vais tester tout cela, merci
"squeepy" wrote:
Bonjour, Dans un fichier excel, j'ai mis en place des projets avec différentes dates dans une 1ere colonne, j'ai une date (quand a été commencé le projet), et dans une deuxième colonne, une autre date avec la fin du projet. Si la date de fin projet est supérieure à la date d'aujourd'hui, alors la couleur de remplissage passe a bleu. (ca c'est bon) Là ou j'ai besoin de vous : J'aimerais faire un bouton, que quand on clique dessus, ça imprime toutes les lignes avec une couleur de remplissage bleue. -- Merci de votre aide
ok, je vais tester tout cela, merci
"squeepy" wrote:
Bonjour,
Dans un fichier excel, j'ai mis en place des projets avec différentes dates
dans une 1ere colonne, j'ai une date (quand a été commencé le projet), et
dans une deuxième colonne, une autre date avec la fin du projet.
Si la date de fin projet est supérieure à la date d'aujourd'hui, alors la
couleur de remplissage passe a bleu. (ca c'est bon)
Là ou j'ai besoin de vous :
J'aimerais faire un bouton, que quand on clique dessus, ça imprime toutes
les lignes avec une couleur de remplissage bleue.
--
Merci de votre aide
Bonjour, Dans un fichier excel, j'ai mis en place des projets avec différentes dates dans une 1ere colonne, j'ai une date (quand a été commencé le projet), et dans une deuxième colonne, une autre date avec la fin du projet. Si la date de fin projet est supérieure à la date d'aujourd'hui, alors la couleur de remplissage passe a bleu. (ca c'est bon) Là ou j'ai besoin de vous : J'aimerais faire un bouton, que quand on clique dessus, ça imprime toutes les lignes avec une couleur de remplissage bleue. -- Merci de votre aide
squeepy
ça m'a l'air un peu galére, il n'y a rien de plus simple. ou pourrait tu détailler comment faire svp merci
Bonjour,
C'est juste une idée : Il faudrait masquer les lignes qui ne sont pas bleues Donc on aurait une boucle qui traiterait toutes les lignes, testerait la couleur de fond et masquerait la ligne si elle a un fond bleu. A l'impression seulles les lignes non masquées sont imprimées. Exemple en imaginant que COL contient le n° de la colonne à tester et BLEU l'index de ta couleur de remplissage : ligne=[N° de la 1ere ligne] do while not(isempty(cells(ligne, COL))) if cells(ligne,col).Interior.ColorIndex <> BLEU then cells(ligne,col).EntireRow.Hidden = True end if ligne=ligne+1 loop ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
"squeepy" wrote:
Bonjour, Dans un fichier excel, j'ai mis en place des projets avec différentes dates dans une 1ere colonne, j'ai une date (quand a été commencé le projet), et dans une deuxième colonne, une autre date avec la fin du projet. Si la date de fin projet est supérieure à la date d'aujourd'hui, alors la couleur de remplissage passe a bleu. (ca c'est bon) Là ou j'ai besoin de vous : J'aimerais faire un bouton, que quand on clique dessus, ça imprime toutes les lignes avec une couleur de remplissage bleue. -- Merci de votre aide
ça m'a l'air un peu galére, il n'y a rien de plus simple. ou pourrait tu
détailler comment faire svp
merci
Bonjour,
C'est juste une idée :
Il faudrait masquer les lignes qui ne sont pas bleues
Donc on aurait une boucle qui traiterait toutes les lignes, testerait la
couleur de fond et masquerait la ligne si elle a un fond bleu. A l'impression
seulles les lignes non masquées sont imprimées.
Exemple en imaginant que COL contient le n° de la colonne à tester et BLEU
l'index de ta couleur de remplissage :
ligne=[N° de la 1ere ligne]
do while not(isempty(cells(ligne, COL)))
if cells(ligne,col).Interior.ColorIndex <> BLEU then
cells(ligne,col).EntireRow.Hidden = True
end if
ligne=ligne+1
loop
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
"squeepy" wrote:
Bonjour,
Dans un fichier excel, j'ai mis en place des projets avec différentes dates
dans une 1ere colonne, j'ai une date (quand a été commencé le projet), et
dans une deuxième colonne, une autre date avec la fin du projet.
Si la date de fin projet est supérieure à la date d'aujourd'hui, alors la
couleur de remplissage passe a bleu. (ca c'est bon)
Là ou j'ai besoin de vous :
J'aimerais faire un bouton, que quand on clique dessus, ça imprime toutes
les lignes avec une couleur de remplissage bleue.
--
Merci de votre aide
ça m'a l'air un peu galére, il n'y a rien de plus simple. ou pourrait tu détailler comment faire svp merci
Bonjour,
C'est juste une idée : Il faudrait masquer les lignes qui ne sont pas bleues Donc on aurait une boucle qui traiterait toutes les lignes, testerait la couleur de fond et masquerait la ligne si elle a un fond bleu. A l'impression seulles les lignes non masquées sont imprimées. Exemple en imaginant que COL contient le n° de la colonne à tester et BLEU l'index de ta couleur de remplissage : ligne=[N° de la 1ere ligne] do while not(isempty(cells(ligne, COL))) if cells(ligne,col).Interior.ColorIndex <> BLEU then cells(ligne,col).EntireRow.Hidden = True end if ligne=ligne+1 loop ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
"squeepy" wrote:
Bonjour, Dans un fichier excel, j'ai mis en place des projets avec différentes dates dans une 1ere colonne, j'ai une date (quand a été commencé le projet), et dans une deuxième colonne, une autre date avec la fin du projet. Si la date de fin projet est supérieure à la date d'aujourd'hui, alors la couleur de remplissage passe a bleu. (ca c'est bon) Là ou j'ai besoin de vous : J'aimerais faire un bouton, que quand on clique dessus, ça imprime toutes les lignes avec une couleur de remplissage bleue. -- Merci de votre aide
Cage à lapins
C'est effectivement "galère" mais si la couleur de fond est le seul critère ... (on peut pas positionner un filtre sur la couleur de fond à ma connaissance) il faut donc créer une procédure sub Par exemple (à recopier):
Public Sub filtre_bleu() Const BLEU = 5 Const COL = 1 Dim Ligne As Integer
Do While Not (IsEmpty(Cells(Ligne, COL))) If Cells(Ligne, COL).Interior.ColorIndex <> BLEU Then Cells(Ligne, COL).EntireRow.Hidden = True End If Ligne = Ligne + 1 Loop ActiveSheet.PrintOut Copies:=1, Collate:=True End Sub
La ligne "Do While Not (IsEmpty(Cells(Ligne, COL)))" va faire que la boucle de traitement va s'arrêter dès qu'elle rencontrera une cellule vide dans la colonne 1 (colonne "A" donc). Si tu as des lignes vides dans ton tableau ça ne marchera pas et il faudra trouver une autre condition de test pour trouver la fin du tableau.
Const BLEU = : la valeur 5 sera peut-être à remplacer par une autre valeur (11, 25, 32, ...) en fonction du bleu que tu as utilisé pour colorer tes lignes.
"squeepy" wrote:
ça m'a l'air un peu galére, il n'y a rien de plus simple. ou pourrait tu détailler comment faire svp merci
Bonjour,
C'est juste une idée : Il faudrait masquer les lignes qui ne sont pas bleues Donc on aurait une boucle qui traiterait toutes les lignes, testerait la couleur de fond et masquerait la ligne si elle a un fond bleu. A l'impression seulles les lignes non masquées sont imprimées. Exemple en imaginant que COL contient le n° de la colonne à tester et BLEU l'index de ta couleur de remplissage : ligne=[N° de la 1ere ligne] do while not(isempty(cells(ligne, COL))) if cells(ligne,col).Interior.ColorIndex <> BLEU then cells(ligne,col).EntireRow.Hidden = True end if ligne=ligne+1 loop ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
"squeepy" wrote:
Bonjour, Dans un fichier excel, j'ai mis en place des projets avec différentes dates dans une 1ere colonne, j'ai une date (quand a été commencé le projet), et dans une deuxième colonne, une autre date avec la fin du projet. Si la date de fin projet est supérieure à la date d'aujourd'hui, alors la couleur de remplissage passe a bleu. (ca c'est bon) Là ou j'ai besoin de vous : J'aimerais faire un bouton, que quand on clique dessus, ça imprime toutes les lignes avec une couleur de remplissage bleue. -- Merci de votre aide
C'est effectivement "galère" mais si la couleur de fond est le seul critère
... (on peut pas positionner un filtre sur la couleur de fond à ma
connaissance)
il faut donc créer une procédure sub
Par exemple (à recopier):
Public Sub filtre_bleu()
Const BLEU = 5
Const COL = 1
Dim Ligne As Integer
Do While Not (IsEmpty(Cells(Ligne, COL)))
If Cells(Ligne, COL).Interior.ColorIndex <> BLEU Then
Cells(Ligne, COL).EntireRow.Hidden = True
End If
Ligne = Ligne + 1
Loop
ActiveSheet.PrintOut Copies:=1, Collate:=True
End Sub
La ligne "Do While Not (IsEmpty(Cells(Ligne, COL)))" va faire que la boucle
de traitement va s'arrêter dès qu'elle rencontrera une cellule vide dans la
colonne 1 (colonne "A" donc). Si tu as des lignes vides dans ton tableau ça
ne marchera pas et il faudra trouver une autre condition de test pour trouver
la fin du tableau.
Const BLEU = : la valeur 5 sera peut-être à remplacer par une autre valeur
(11, 25, 32, ...) en fonction du bleu que tu as utilisé pour colorer tes
lignes.
"squeepy" wrote:
ça m'a l'air un peu galére, il n'y a rien de plus simple. ou pourrait tu
détailler comment faire svp
merci
Bonjour,
C'est juste une idée :
Il faudrait masquer les lignes qui ne sont pas bleues
Donc on aurait une boucle qui traiterait toutes les lignes, testerait la
couleur de fond et masquerait la ligne si elle a un fond bleu. A l'impression
seulles les lignes non masquées sont imprimées.
Exemple en imaginant que COL contient le n° de la colonne à tester et BLEU
l'index de ta couleur de remplissage :
ligne=[N° de la 1ere ligne]
do while not(isempty(cells(ligne, COL)))
if cells(ligne,col).Interior.ColorIndex <> BLEU then
cells(ligne,col).EntireRow.Hidden = True
end if
ligne=ligne+1
loop
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
"squeepy" wrote:
Bonjour,
Dans un fichier excel, j'ai mis en place des projets avec différentes dates
dans une 1ere colonne, j'ai une date (quand a été commencé le projet), et
dans une deuxième colonne, une autre date avec la fin du projet.
Si la date de fin projet est supérieure à la date d'aujourd'hui, alors la
couleur de remplissage passe a bleu. (ca c'est bon)
Là ou j'ai besoin de vous :
J'aimerais faire un bouton, que quand on clique dessus, ça imprime toutes
les lignes avec une couleur de remplissage bleue.
--
Merci de votre aide
C'est effectivement "galère" mais si la couleur de fond est le seul critère ... (on peut pas positionner un filtre sur la couleur de fond à ma connaissance) il faut donc créer une procédure sub Par exemple (à recopier):
Public Sub filtre_bleu() Const BLEU = 5 Const COL = 1 Dim Ligne As Integer
Do While Not (IsEmpty(Cells(Ligne, COL))) If Cells(Ligne, COL).Interior.ColorIndex <> BLEU Then Cells(Ligne, COL).EntireRow.Hidden = True End If Ligne = Ligne + 1 Loop ActiveSheet.PrintOut Copies:=1, Collate:=True End Sub
La ligne "Do While Not (IsEmpty(Cells(Ligne, COL)))" va faire que la boucle de traitement va s'arrêter dès qu'elle rencontrera une cellule vide dans la colonne 1 (colonne "A" donc). Si tu as des lignes vides dans ton tableau ça ne marchera pas et il faudra trouver une autre condition de test pour trouver la fin du tableau.
Const BLEU = : la valeur 5 sera peut-être à remplacer par une autre valeur (11, 25, 32, ...) en fonction du bleu que tu as utilisé pour colorer tes lignes.
"squeepy" wrote:
ça m'a l'air un peu galére, il n'y a rien de plus simple. ou pourrait tu détailler comment faire svp merci
Bonjour,
C'est juste une idée : Il faudrait masquer les lignes qui ne sont pas bleues Donc on aurait une boucle qui traiterait toutes les lignes, testerait la couleur de fond et masquerait la ligne si elle a un fond bleu. A l'impression seulles les lignes non masquées sont imprimées. Exemple en imaginant que COL contient le n° de la colonne à tester et BLEU l'index de ta couleur de remplissage : ligne=[N° de la 1ere ligne] do while not(isempty(cells(ligne, COL))) if cells(ligne,col).Interior.ColorIndex <> BLEU then cells(ligne,col).EntireRow.Hidden = True end if ligne=ligne+1 loop ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
"squeepy" wrote:
Bonjour, Dans un fichier excel, j'ai mis en place des projets avec différentes dates dans une 1ere colonne, j'ai une date (quand a été commencé le projet), et dans une deuxième colonne, une autre date avec la fin du projet. Si la date de fin projet est supérieure à la date d'aujourd'hui, alors la couleur de remplissage passe a bleu. (ca c'est bon) Là ou j'ai besoin de vous : J'aimerais faire un bouton, que quand on clique dessus, ça imprime toutes les lignes avec une couleur de remplissage bleue. -- Merci de votre aide
ChrisV
Bonjour Cages à lapins (...),
... mais si la couleur de fond est le seul critère...
Il n'est pas le critère, mais la conséquence de la vérification du critère... (cf post initial de squeepy) "si la date de fin projet est supérieure à la date d'aujourd'hui..."
Pour une soluce rapide, facile, sans VBA... Le filtre élaboré ! ;-)
ChrisV
"Cage à lapins" a écrit dans le message de news:
C'est effectivement "galère" mais si la couleur de fond est le seul critère ... (on peut pas positionner un filtre sur la couleur de fond à ma connaissance) il faut donc créer une procédure sub Par exemple (à recopier):
Public Sub filtre_bleu() Const BLEU = 5 Const COL = 1 Dim Ligne As Integer
Do While Not (IsEmpty(Cells(Ligne, COL))) If Cells(Ligne, COL).Interior.ColorIndex <> BLEU Then Cells(Ligne, COL).EntireRow.Hidden = True End If Ligne = Ligne + 1 Loop ActiveSheet.PrintOut Copies:=1, Collate:=True End Sub
La ligne "Do While Not (IsEmpty(Cells(Ligne, COL)))" va faire que la boucle de traitement va s'arrêter dès qu'elle rencontrera une cellule vide dans la colonne 1 (colonne "A" donc). Si tu as des lignes vides dans ton tableau ça ne marchera pas et il faudra trouver une autre condition de test pour trouver la fin du tableau.
Const BLEU = : la valeur 5 sera peut-être à remplacer par une autre valeur (11, 25, 32, ...) en fonction du bleu que tu as utilisé pour colorer tes lignes.
"squeepy" wrote:
ça m'a l'air un peu galére, il n'y a rien de plus simple. ou pourrait tu détailler comment faire svp merci
Bonjour,
C'est juste une idée : Il faudrait masquer les lignes qui ne sont pas bleues Donc on aurait une boucle qui traiterait toutes les lignes, testerait la couleur de fond et masquerait la ligne si elle a un fond bleu. A l'impression seulles les lignes non masquées sont imprimées. Exemple en imaginant que COL contient le n° de la colonne à tester et BLEU l'index de ta couleur de remplissage : ligne=[N° de la 1ere ligne] do while not(isempty(cells(ligne, COL))) if cells(ligne,col).Interior.ColorIndex <> BLEU then cells(ligne,col).EntireRow.Hidden = True end if ligne=ligne+1 loop ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
"squeepy" wrote:
Bonjour, Dans un fichier excel, j'ai mis en place des projets avec différentes dates dans une 1ere colonne, j'ai une date (quand a été commencé le projet), et dans une deuxième colonne, une autre date avec la fin du projet. Si la date de fin projet est supérieure à la date d'aujourd'hui, alors la couleur de remplissage passe a bleu. (ca c'est bon) Là ou j'ai besoin de vous : J'aimerais faire un bouton, que quand on clique dessus, ça imprime toutes les lignes avec une couleur de remplissage bleue. -- Merci de votre aide
Bonjour Cages à lapins (...),
... mais si la couleur de fond est le seul critère...
Il n'est pas le critère, mais la conséquence de la vérification du
critère...
(cf post initial de squeepy)
"si la date de fin projet est supérieure à la date d'aujourd'hui..."
Pour une soluce rapide, facile, sans VBA... Le filtre élaboré !
;-)
ChrisV
"Cage à lapins" <Cagelapins@discussions.microsoft.com> a écrit dans le
message de news: 63A3AD38-E244-4FB2-A05D-A3576DB98D9F@microsoft.com...
C'est effectivement "galère" mais si la couleur de fond est le seul
critère
... (on peut pas positionner un filtre sur la couleur de fond à ma
connaissance)
il faut donc créer une procédure sub
Par exemple (à recopier):
Public Sub filtre_bleu()
Const BLEU = 5
Const COL = 1
Dim Ligne As Integer
Do While Not (IsEmpty(Cells(Ligne, COL)))
If Cells(Ligne, COL).Interior.ColorIndex <> BLEU Then
Cells(Ligne, COL).EntireRow.Hidden = True
End If
Ligne = Ligne + 1
Loop
ActiveSheet.PrintOut Copies:=1, Collate:=True
End Sub
La ligne "Do While Not (IsEmpty(Cells(Ligne, COL)))" va faire que la
boucle
de traitement va s'arrêter dès qu'elle rencontrera une cellule vide dans
la
colonne 1 (colonne "A" donc). Si tu as des lignes vides dans ton tableau
ça
ne marchera pas et il faudra trouver une autre condition de test pour
trouver
la fin du tableau.
Const BLEU = : la valeur 5 sera peut-être à remplacer par une autre valeur
(11, 25, 32, ...) en fonction du bleu que tu as utilisé pour colorer tes
lignes.
"squeepy" wrote:
ça m'a l'air un peu galére, il n'y a rien de plus simple. ou pourrait tu
détailler comment faire svp
merci
Bonjour,
C'est juste une idée :
Il faudrait masquer les lignes qui ne sont pas bleues
Donc on aurait une boucle qui traiterait toutes les lignes, testerait
la
couleur de fond et masquerait la ligne si elle a un fond bleu. A
l'impression
seulles les lignes non masquées sont imprimées.
Exemple en imaginant que COL contient le n° de la colonne à tester et
BLEU
l'index de ta couleur de remplissage :
ligne=[N° de la 1ere ligne]
do while not(isempty(cells(ligne, COL)))
if cells(ligne,col).Interior.ColorIndex <> BLEU then
cells(ligne,col).EntireRow.Hidden = True
end if
ligne=ligne+1
loop
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
"squeepy" wrote:
Bonjour,
Dans un fichier excel, j'ai mis en place des projets avec différentes
dates
dans une 1ere colonne, j'ai une date (quand a été commencé le
projet), et
dans une deuxième colonne, une autre date avec la fin du projet.
Si la date de fin projet est supérieure à la date d'aujourd'hui,
alors la
couleur de remplissage passe a bleu. (ca c'est bon)
Là ou j'ai besoin de vous :
J'aimerais faire un bouton, que quand on clique dessus, ça imprime
toutes
les lignes avec une couleur de remplissage bleue.
--
Merci de votre aide
... mais si la couleur de fond est le seul critère...
Il n'est pas le critère, mais la conséquence de la vérification du critère... (cf post initial de squeepy) "si la date de fin projet est supérieure à la date d'aujourd'hui..."
Pour une soluce rapide, facile, sans VBA... Le filtre élaboré ! ;-)
ChrisV
"Cage à lapins" a écrit dans le message de news:
C'est effectivement "galère" mais si la couleur de fond est le seul critère ... (on peut pas positionner un filtre sur la couleur de fond à ma connaissance) il faut donc créer une procédure sub Par exemple (à recopier):
Public Sub filtre_bleu() Const BLEU = 5 Const COL = 1 Dim Ligne As Integer
Do While Not (IsEmpty(Cells(Ligne, COL))) If Cells(Ligne, COL).Interior.ColorIndex <> BLEU Then Cells(Ligne, COL).EntireRow.Hidden = True End If Ligne = Ligne + 1 Loop ActiveSheet.PrintOut Copies:=1, Collate:=True End Sub
La ligne "Do While Not (IsEmpty(Cells(Ligne, COL)))" va faire que la boucle de traitement va s'arrêter dès qu'elle rencontrera une cellule vide dans la colonne 1 (colonne "A" donc). Si tu as des lignes vides dans ton tableau ça ne marchera pas et il faudra trouver une autre condition de test pour trouver la fin du tableau.
Const BLEU = : la valeur 5 sera peut-être à remplacer par une autre valeur (11, 25, 32, ...) en fonction du bleu que tu as utilisé pour colorer tes lignes.
"squeepy" wrote:
ça m'a l'air un peu galére, il n'y a rien de plus simple. ou pourrait tu détailler comment faire svp merci
Bonjour,
C'est juste une idée : Il faudrait masquer les lignes qui ne sont pas bleues Donc on aurait une boucle qui traiterait toutes les lignes, testerait la couleur de fond et masquerait la ligne si elle a un fond bleu. A l'impression seulles les lignes non masquées sont imprimées. Exemple en imaginant que COL contient le n° de la colonne à tester et BLEU l'index de ta couleur de remplissage : ligne=[N° de la 1ere ligne] do while not(isempty(cells(ligne, COL))) if cells(ligne,col).Interior.ColorIndex <> BLEU then cells(ligne,col).EntireRow.Hidden = True end if ligne=ligne+1 loop ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
"squeepy" wrote:
Bonjour, Dans un fichier excel, j'ai mis en place des projets avec différentes dates dans une 1ere colonne, j'ai une date (quand a été commencé le projet), et dans une deuxième colonne, une autre date avec la fin du projet. Si la date de fin projet est supérieure à la date d'aujourd'hui, alors la couleur de remplissage passe a bleu. (ca c'est bon) Là ou j'ai besoin de vous : J'aimerais faire un bouton, que quand on clique dessus, ça imprime toutes les lignes avec une couleur de remplissage bleue. -- Merci de votre aide