Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Sélectionner la zone tant que le chiffre est négatif

9 réponses
Avatar
Bruno RCSC
Bonjour,

A l'issue du tri d'un tableau, je voudrais définir une zone d'impression
allant de la cellule N1 à la dernière valeur négative de la colonne Q.

Tant que la valeur de la colonne est négative alors ...

Malheureusement, je suis incapable d'écrire le code correspondant.

Merci pour votre aide.

Sous Excel 2002

BH.

9 réponses

Avatar
isabelle
bonjour Bruno,

si la premiere valeur négative est à la ligne 1
la formule =NB.SI(Q:Q;"<0") te donnera la ligne de fin des nombres négatif

donc l'adresse sera :
adresse = Range("N1:Q" & Application.CountIf(Range("Q:Q"), "<0")).Address

isabelle

Bruno RCSC a écrit :
Bonjour,

A l'issue du tri d'un tableau, je voudrais définir une zone d'impression
allant de la cellule N1 à la dernière valeur négative de la colonne Q.

Tant que la valeur de la colonne est négative alors ...

Malheureusement, je suis incapable d'écrire le code correspondant.

Merci pour votre aide.

Sous Excel 2002

BH.




Avatar
Bruno RCSC
Bonjour,

Merci Isabelle.
Mais je rencontre le problème suivant (incompréhensible) :
la zone ne prend pas les 2 dernières lignes des valeurs négatives
adresse = Range("N1:Q" & Application.CountIf(Range("Q:Q"), "<0")).Address
Range(adresse).Select
Si ma dernière valeur négative est en ligne 40, la sélection s'arrête en
ligne 38 !

J'ai validé par une MFC qu'il me détectait bien des valeurs négatives, ce
qui (heureusement) est le cas.

Une solution ?

Merci.
BH


bonjour Bruno,

si la premiere valeur négative est à la ligne 1
la formule =NB.SI(Q:Q;"<0") te donnera la ligne de fin des nombres négatif

donc l'adresse sera :
adresse = Range("N1:Q" & Application.CountIf(Range("Q:Q"), "<0")).Address

isabelle

Bruno RCSC a écrit :
Bonjour,

A l'issue du tri d'un tableau, je voudrais définir une zone d'impression
allant de la cellule N1 à la dernière valeur négative de la colonne Q.

Tant que la valeur de la colonne est négative alors ...

Malheureusement, je suis incapable d'écrire le code correspondant.

Merci pour votre aide.

Sous Excel 2002

BH.




Avatar
isabelle
bonjour Bruno,

est ce que la plage en colonne Q commence à la ligne 1 ?
le tableau est t'il trié sur la colonne Q ?

isabelle

Bruno RCSC a écrit :
Bonjour,

Merci Isabelle.
Mais je rencontre le problème suivant (incompréhensible) :
la zone ne prend pas les 2 dernières lignes des valeurs négatives
adresse = Range("N1:Q" & Application.CountIf(Range("Q:Q"), "<0")).Address
Range(adresse).Select
Si ma dernière valeur négative est en ligne 40, la sélection s'arrête en
ligne 38 !

J'ai validé par une MFC qu'il me détectait bien des valeurs négatives, ce
qui (heureusement) est le cas.

Une solution ?

Merci.
BH


bonjour Bruno,

si la premiere valeur négative est à la ligne 1
la formule =NB.SI(Q:Q;"<0") te donnera la ligne de fin des nombres négatif

donc l'adresse sera :
adresse = Range("N1:Q" & Application.CountIf(Range("Q:Q"), "<0")).Address

isabelle

Bruno RCSC a écrit :
Bonjour,

A l'issue du tri d'un tableau, je voudrais définir une zone d'impression
allant de la cellule N1 à la dernière valeur négative de la colonne Q.

Tant que la valeur de la colonne est négative alors ...

Malheureusement, je suis incapable d'écrire le code correspondant.

Merci pour votre aide.

Sous Excel 2002

BH.








Avatar
michdenis
Une lecture en diagonale du fil ...

Dans la question :
| A l'issue du tri d'un tableau, je voudrais définir une zone d'impression
| allant de la cellule N1 à la dernière valeur négative de la colonne Q.

Il n'est pas dit que toutes les entrées en colonne Q sont négatives ????
à moins que je n'ai pas saisi le sens de sa question !




"isabelle" a écrit dans le message de news:
OeO5yaf$
bonjour Bruno,

est ce que la plage en colonne Q commence à la ligne 1 ?
le tableau est t'il trié sur la colonne Q ?

isabelle

Bruno RCSC a écrit :
Bonjour,

Merci Isabelle.
Mais je rencontre le problème suivant (incompréhensible) :
la zone ne prend pas les 2 dernières lignes des valeurs négatives
adresse = Range("N1:Q" & Application.CountIf(Range("Q:Q"), "<0")).Address
Range(adresse).Select
Si ma dernière valeur négative est en ligne 40, la sélection s'arrête en
ligne 38 !

J'ai validé par une MFC qu'il me détectait bien des valeurs négatives, ce
qui (heureusement) est le cas.

Une solution ?

Merci.
BH


bonjour Bruno,

si la premiere valeur négative est à la ligne 1
la formule =NB.SI(Q:Q;"<0") te donnera la ligne de fin des nombres
négatif

donc l'adresse sera :
adresse = Range("N1:Q" & Application.CountIf(Range("Q:Q"), "<0")).Address

isabelle

Bruno RCSC a écrit :
Bonjour,

A l'issue du tri d'un tableau, je voudrais définir une zone d'impression
allant de la cellule N1 à la dernière valeur négative de la colonne Q.

Tant que la valeur de la colonne est négative alors ...

Malheureusement, je suis incapable d'écrire le code correspondant.

Merci pour votre aide.

Sous Excel 2002

BH.








Avatar
isabelle
michdenis a écrit :
Une lecture en diagonale du fil ...



Il n'est pas dit que toutes les entrées en colonne Q sont négatives ????
à moins que je n'ai pas saisi le sens de sa question !



je ne crois pas que ce soit le cas, mais si comme dit dans la question initiale:
la plage d'impression doit commencer en "N1" il vaudrait que le tableau soit trier (croissant) sur la colonne Q
pour compter les négatifs
me tromperaisje ? à moins que la colonne Q contienne également du texte et/ou une ligne de titre
isabelle
Avatar
Bruno RCSC
Bonjour,

Merci de vous préoccuper de mon problème.

Je préfère vous joindre un exemple concret, j'ai mis le code que j'utilise
et qui précède la sélection de la zone.
On tri la colonne Q par ordre croissant (les variations) avec la colonne O
en décroissant.
Dans la colonne Q, il y a un vide (Q1, le titre Q2).

http://cjoint.com/?ionERZggLP

Merci.

BH


"isabelle" a écrit dans le message de news:
eS8yk6f$


michdenis a écrit :
Une lecture en diagonale du fil ...



Il n'est pas dit que toutes les entrées en colonne Q sont négatives ????
à moins que je n'ai pas saisi le sens de sa question !



je ne crois pas que ce soit le cas, mais si comme dit dans la question
initiale:
la plage d'impression doit commencer en "N1" il vaudrait que le tableau
soit trier (croissant) sur la colonne Q
pour compter les négatifs
me tromperaisje ? à moins que la colonne Q contienne également du texte
et/ou une ligne de titre
isabelle


Avatar
isabelle
bonjour Bruno,

il faut ajouter + 2 à la formule pour compter la ligne vide + la ligne de titre
ou bien
compter les négatif de la plage Q3:Q65535

adresse = Range("N1:T" & Application.CountIf(Range("Q:Q"), "<0") + 2).Address
ou
adresse = Range("N1:T" & Application.CountIf(Range("Q3:Q65535"), "<0") + 2).Address

isabelle

Bruno RCSC a écrit :
Bonjour,

Merci de vous préoccuper de mon problème.

Je préfère vous joindre un exemple concret, j'ai mis le code que j'utilise
et qui précède la sélection de la zone.
On tri la colonne Q par ordre croissant (les variations) avec la colonne O
en décroissant.
Dans la colonne Q, il y a un vide (Q1, le titre Q2).

http://cjoint.com/?ionERZggLP

Merci.

BH


"isabelle" a écrit dans le message de news:
eS8yk6f$

michdenis a écrit :
Une lecture en diagonale du fil ...
Il n'est pas dit que toutes les entrées en colonne Q sont négatives ????
à moins que je n'ai pas saisi le sens de sa question !


je ne crois pas que ce soit le cas, mais si comme dit dans la question
initiale:
la plage d'impression doit commencer en "N1" il vaudrait que le tableau
soit trier (croissant) sur la colonne Q
pour compter les négatifs
me tromperaisje ? à moins que la colonne Q contienne également du texte
et/ou une ligne de titre
isabelle






Avatar
isabelle
oubli la deuxième suggestion Bruno, c'est un erreur.

isabelle

isabelle a écrit :
bonjour Bruno,

il faut ajouter + 2 à la formule pour compter la ligne vide + la ligne
de titre
ou bien
compter les négatif de la plage Q3:Q65535

adresse = Range("N1:T" & Application.CountIf(Range("Q:Q"), "<0") +
2).Address
ou
adresse = Range("N1:T" & Application.CountIf(Range("Q3:Q65535"), "<0") +
2).Address

isabelle

Bruno RCSC a écrit :
Bonjour,

Merci de vous préoccuper de mon problème.

Je préfère vous joindre un exemple concret, j'ai mis le code que
j'utilise et qui précède la sélection de la zone.
On tri la colonne Q par ordre croissant (les variations) avec la
colonne O en décroissant.
Dans la colonne Q, il y a un vide (Q1, le titre Q2).

http://cjoint.com/?ionERZggLP

Merci.

BH


"isabelle" a écrit dans le message de news:
eS8yk6f$

michdenis a écrit :
Une lecture en diagonale du fil ...
Il n'est pas dit que toutes les entrées en colonne Q sont négatives
????
à moins que je n'ai pas saisi le sens de sa question !


je ne crois pas que ce soit le cas, mais si comme dit dans la
question initiale:
la plage d'impression doit commencer en "N1" il vaudrait que le
tableau soit trier (croissant) sur la colonne Q
pour compter les négatifs
me tromperaisje ? à moins que la colonne Q contienne également du
texte et/ou une ligne de titre
isabelle








Avatar
Bruno RCSC
Je confirme que la 1ère solution fonctionne parfaitement.

Merci et bravo Isabelle.

BH.