OVH Cloud OVH Cloud

Recherche valeur ligne 1 correspondant à dernière cellule non vide ligne 2

9 réponses
Avatar
Mission
Bonjour à à toutes et tous,

Soit un tableau avec 6 colonnes et n lignes.
De B1 à F1, les cellules de titre contiennent des valeurs alphanumériques
ordonnées.
Les cellules B2 à Fn sont ou non remplies de valeurs diverses.
Je cherche à renvoyer en colonne A devant chaque ligne donc la valeur de la
cellule x1 correspondant à la dernière cellule non vide de la ligne
concernée.
La proposition faite en réponse à la demande de Xavier ce matin ne convient
pas car le contenu des cellules B2 à Fn est libre, et je peux avoir des
"trous".
Est-ce que quelqu'un aurait une astuce à me proposer ?
Merci d'avance pour votre obligeance.
PG

9 réponses

Avatar
JB
Bonjour,

En A2: =RECHERCHE(10^10;B2:F2)

http://cjoint.com/?mcmlXaLSO4

JB

On 2 déc, 11:58, "Mission" wrote:
Bonjour à à toutes et tous,

Soit un tableau avec 6 colonnes et n lignes.
De B1 à F1, les cellules de titre contiennent des valeurs alphanumériq ues
ordonnées.
Les cellules B2 à Fn sont ou non remplies de valeurs diverses.
Je cherche à renvoyer en colonne A devant chaque ligne donc la valeur de la
cellule x1 correspondant à la dernière cellule non vide de la ligne
concernée.
La proposition faite en réponse à la demande de Xavier ce matin ne con vient
pas car le contenu des cellules B2 à Fn est libre, et je peux avoir des
"trous".
Est-ce que quelqu'un aurait une astuce à me proposer ?
Merci d'avance pour votre obligeance.
PG


Avatar
Mission
Bonjour JB et merci pour votre attention.

Votre proposition va sans aucun doute me faciliter la tâche dans un autre
tableau en projet mais ne répond malheureusement pas à ce que je souhaite
ici.
En effet, ce n'est pas la valeur de la dernière cellule non vide de la ligne
que je recherche, mais celle de la cellule d'entête (ligne 1) correspondant
à cette dernière cellule non vide. Dans votre exemple, je devrais trouver
"A5" dans la cellule A2 et "A3" dans la cellule A9.
Je vais abuser : pourquoi "10^10" dans votre proposition ?

Merci d'avance pour votre aide.
PG

"JB" a écrit dans le message de
news:
Bonjour,

En A2: =RECHERCHE(10^10;B2:F2)

http://cjoint.com/?mcmlXaLSO4

JB

On 2 déc, 11:58, "Mission" wrote:
Bonjour à à toutes et tous,

Soit un tableau avec 6 colonnes et n lignes.
De B1 à F1, les cellules de titre contiennent des valeurs alphanumériques
ordonnées.
Les cellules B2 à Fn sont ou non remplies de valeurs diverses.
Je cherche à renvoyer en colonne A devant chaque ligne donc la valeur de
la
cellule x1 correspondant à la dernière cellule non vide de la ligne
concernée.
La proposition faite en réponse à la demande de Xavier ce matin ne
convient
pas car le contenu des cellules B2 à Fn est libre, et je peux avoir des
"trous".
Est-ce que quelqu'un aurait une astuce à me proposer ?
Merci d'avance pour votre obligeance.
PG


Avatar
JB
=INDEX($B$1:$F$1;EQUIV(10^10;B2:F2))

http://cjoint.com/?mcndJUFArX

JB


On 2 déc, 12:24, "Mission" wrote:
Bonjour JB et merci pour votre attention.

Votre proposition va sans aucun doute me faciliter la tâche dans un autr e
tableau en projet mais ne répond malheureusement pas à ce que je souha ite
ici.
En effet, ce n'est pas la valeur de la dernière cellule non vide de la l igne
que je recherche, mais celle de la cellule d'entête (ligne 1) correspond ant
à cette dernière cellule non vide. Dans votre exemple, je devrais trou ver
"A5" dans la cellule A2 et "A3" dans la cellule A9.
Je vais abuser : pourquoi "10^10" dans votre proposition ?

Merci d'avance pour votre aide.
PG

"JB" a écrit dans le message denews:4324a48e-f
Bonjour,

En A2: =RECHERCHE(10^10;B2:F2)

http://cjoint.com/?mcmlXaLSO4

JB

On 2 déc, 11:58, "Mission" wrote:



Bonjour à à toutes et tous,

Soit un tableau avec 6 colonnes et n lignes.
De B1 à F1, les cellules de titre contiennent des valeurs alphanumér iques
ordonnées.
Les cellules B2 à Fn sont ou non remplies de valeurs diverses.
Je cherche à renvoyer en colonne A devant chaque ligne donc la valeur de
la
cellule x1 correspondant à la dernière cellule non vide de la ligne
concernée.
La proposition faite en réponse à la demande de Xavier ce matin ne
convient
pas car le contenu des cellules B2 à Fn est libre, et je peux avoir de s
"trous".
Est-ce que quelqu'un aurait une astuce à me proposer ?
Merci d'avance pour votre obligeance.
PG- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
Mission
Désolé, mais ça ne fonctionne pas.
Comme je ne sais pas poster sur cjoint .... :-( je donne mon exemple ici :

Joueur R1 R2 R3 Maxi
Joueur 1 Nat1 Nat1 <vide> R3
Joueur 2 Nat4 Dép2 <vide> R2
Joueur 3 Dép2 Nat1 Nat1 R3
Joueur 4 <vide> <vide> <vide> <vide>
Joueur 5 D3J Nat1 <vide> R3
Joueur 6 D3F D3F <vide> R2
Joueur 7 D3F <vide> <vide> R1
Joueur 8 Nat1 Nat1 Nat1 R3
Joueur 9 Nat4 Dép2 <vide> R2

Merci encore pour votre attention.

PG


"JB" a écrit dans le message de
news:
=INDEX($B$1:$F$1;EQUIV(10^10;B2:F2))

http://cjoint.com/?mcndJUFArX

JB
Avatar
Mission
Bonjour PST,

Je n'ai pas répété la formule de politesse à ma 2ème réponse à JB.
désolé de vous avoir froissé.

Ca me renvoit bien le contenu de la dernière cellule non vide dans la
colonne A, mais ce n'est pas tout à fait ce que je souhaite obtenir.

L'exemple donné ne concerne que peu de données en apparence, mais je vais me
trouver dans quelques temps avec plus de 250 lignes et une cinquantaine de
colonnes à contrôler. Je ne peux pas continuer à la main.
L'idée =INDEX($B$1:$F$1;EQUIV(10^10;B2:F2)) ne fonctionne qu'avec la donnée
de comparaison la plus petite.
Mais si aujourd'hui je n'ai que 5 valeurs à comparer possible, j'en attends
bien d'autres plus tard.

Je ne pensais pas si difficile de trouver la référence de la dernière
cellule non vide d'une plage.
Je vais essayer de repenser mon tableau, quitte à en multiplier les
feuilles, pour que mon bidule fonctionne. Mais si quelqu'un a une idée,
j'étudie.....

Merci tout de même à tous les deux. Et aux autres.

Bon dimanche.
PG


"PST" a écrit dans le message de
news:4752ace5$0$5065$
Bonjour peut être

Donne la dernière valeur de chaque ligne en colonne A en principe

A partir de la dernière colonne de chaque ligne,
jusqu'à la première cellule non vide

Sub Der_Colonne_vide()
For I = 1 To 10
For j = 1 To 1
Cells(I, 1).Value = Cells(I, 256).End(xlToLeft).value
Next
Next




Désolé, mais ça ne fonctionne pas.
Comme je ne sais pas poster sur cjoint .... :-( je donne mon exemple ici :

Joueur R1 R2 R3 Maxi
Joueur 1 Nat1 Nat1 <vide> R3
Joueur 2 Nat4 Dép2 <vide> R2
Joueur 3 Dép2 Nat1 Nat1 R3
Joueur 4 <vide> <vide> <vide> <vide>
Joueur 5 D3J Nat1 <vide> R3
Joueur 6 D3F D3F <vide> R2
Joueur 7 D3F <vide> <vide> R1
Joueur 8 Nat1 Nat1 Nat1 R3
Joueur 9 Nat4 Dép2 <vide> R2

Merci encore pour votre attention.

PG


"JB" a écrit dans le message de
news:
=INDEX($B$1:$F$1;EQUIV(10^10;B2:F2))

http://cjoint.com/?mcndJUFArX

JB




Avatar
PST
Bonjour peut être

Donne la dernière valeur de chaque ligne en colonne A en principe

A partir de la dernière colonne de chaque ligne,
jusqu'à la première cellule non vide

Sub Der_Colonne_vide()
For I = 1 To 10
For j = 1 To 1
Cells(I, 1).Value = Cells(I, 256).End(xlToLeft).value
Next
Next




Désolé, mais ça ne fonctionne pas.
Comme je ne sais pas poster sur cjoint .... :-( je donne mon exemple ic i :

Joueur R1 R2 R3 Maxi
Joueur 1 Nat1 Nat1 <vide> R3
Joueur 2 Nat4 Dép2 <vide> R2
Joueur 3 Dép2 Nat1 Nat1 R3
Joueur 4 <vide> <vide> <vide> <vide>
Joueur 5 D3J Nat1 <vide> R3
Joueur 6 D3F D3F <vide> R2
Joueur 7 D3F <vide> <vide> R1
Joueur 8 Nat1 Nat1 Nat1 R3
Joueur 9 Nat4 Dép2 <vide> R2

Merci encore pour votre attention.

PG


"JB" a écrit dans le message de
news: ..
=INDEX($B$1:$F$1;EQUIV(10^10;B2:F2))

http://cjoint.com/?mcndJUFArX

JB




Avatar
JB
Je ne comprends pas:

Poster sur http://www.cjoint.com

http://cjoint.com/?mcqQSMBkqr

JB

On 2 déc, 13:39, "Mission" wrote:
Désolé, mais ça ne fonctionne pas.
Comme je ne sais pas poster sur cjoint .... :-( je donne mon exemple ici :

Joueur R1 R2 R3 Maxi
Joueur 1 Nat1 Nat1 <vide> R3
Joueur 2 Nat4 Dép2 <vide> R2
Joueur 3 Dép2 Nat1 Nat1 R3
Joueur 4 <vide> <vide> <vide> <vide>
Joueur 5 D3J Nat1 <vide> R3
Joueur 6 D3F D3F <vide> R2
Joueur 7 D3F <vide> <vide> R1
Joueur 8 Nat1 Nat1 Nat1 R3
Joueur 9 Nat4 Dép2 <vide> R2

Merci encore pour votre attention.

PG

"JB" a écrit dans le message denews:c6c4921d-2
=INDEX($B$1:$F$1;EQUIV(10^10;B2:F2))

http://cjoint.com/?mcndJUFArX

JB


Avatar
PST
S'il y a plus de ligne, ce n'est pas un problème
il s'agit juste de changer 10 par le nombre de ligne
ou toujours à la place du 10

Range("A65536").End(xlUp) si A est la colonne la plus complète



Bonjour PST,

Je n'ai pas répété la formule de politesse à ma 2ème répons e à JB.
désolé de vous avoir froissé.

Ca me renvoit bien le contenu de la dernière cellule non vide dans la
colonne A, mais ce n'est pas tout à fait ce que je souhaite obtenir.

L'exemple donné ne concerne que peu de données en apparence, mais j e
vais me trouver dans quelques temps avec plus de 250 lignes et une
cinquantaine de colonnes à contrôler. Je ne peux pas continuer à la main.
L'idée =INDEX($B$1:$F$1;EQUIV(10^10;B2:F2)) ne fonctionne qu'avec l a
donnée de comparaison la plus petite.
Mais si aujourd'hui je n'ai que 5 valeurs à comparer possible, j'en
attends bien d'autres plus tard.

Je ne pensais pas si difficile de trouver la référence de la derniè re
cellule non vide d'une plage.
Je vais essayer de repenser mon tableau, quitte à en multiplier les
feuilles, pour que mon bidule fonctionne. Mais si quelqu'un a une idé e,
j'étudie.....

Merci tout de même à tous les deux. Et aux autres.

Bon dimanche.
PG


"PST" a écrit dans le message de
news:4752ace5$0$5065$
Bonjour peut être

Donne la dernière valeur de chaque ligne en colonne A en principe

A partir de la dernière colonne de chaque ligne,
jusqu'à la première cellule non vide

Sub Der_Colonne_vide()
For I = 1 To 10
For j = 1 To 1
Cells(I, 1).Value = Cells(I, 256).End(xlToLeft).value
Next
Next




Désolé, mais ça ne fonctionne pas.
Comme je ne sais pas poster sur cjoint .... :-( je donne mon exemple
ici :

Joueur R1 R2 R3 Maxi
Joueur 1 Nat1 Nat1 <vide> R3
Joueur 2 Nat4 Dép2 <vide> R2
Joueur 3 Dép2 Nat1 Nat1 R3
Joueur 4 <vide> <vide> <vide> <vide>
Joueur 5 D3J Nat1 <vide> R3
Joueur 6 D3F D3F <vide> R2
Joueur 7 D3F <vide> <vide> R1
Joueur 8 Nat1 Nat1 Nat1 R3
Joueur 9 Nat4 Dép2 <vide> R2

Merci encore pour votre attention.

PG


"JB" a écrit dans le message de
news: ...
=INDEX($B$1:$F$1;EQUIV(10^10;B2:F2))

http://cjoint.com/?mcndJUFArX

JB







Avatar
Mission
Bonsoir,

Un seul mot "superbe" !
Non, un second : "merci" ou plutôt "mille mercis".
Le truc, c'est donc ce "zzzz" ! Fallait le savoir.
Je n'ai plus qu'à traiter les #N/A, mais ça, je sais faire :-)

Longue vie à ce forum.

PG

"JB" a écrit dans le message de
news:
Je ne comprends pas:

Poster sur http://www.cjoint.com

http://cjoint.com/?mcqQSMBkqr

JB

On 2 déc, 13:39, "Mission" wrote:
Désolé, mais ça ne fonctionne pas.
Comme je ne sais pas poster sur cjoint .... :-( je donne mon exemple ici :

Joueur R1 R2 R3 Maxi
Joueur 1 Nat1 Nat1 <vide> R3
Joueur 2 Nat4 Dép2 <vide> R2
Joueur 3 Dép2 Nat1 Nat1 R3
Joueur 4 <vide> <vide> <vide> <vide>
Joueur 5 D3J Nat1 <vide> R3
Joueur 6 D3F D3F <vide> R2
Joueur 7 D3F <vide> <vide> R1
Joueur 8 Nat1 Nat1 Nat1 R3
Joueur 9 Nat4 Dép2 <vide> R2

Merci encore pour votre attention.

PG

"JB" a écrit dans le message
denews:
=INDEX($B$1:$F$1;EQUIV(10^10;B2:F2))

http://cjoint.com/?mcndJUFArX

JB