> Tous les forums > Forum Bureautique
 EXCEL EQUIV en remontant dans une colonneSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Debrief
  Posté le 01/03/2018 @ 09:32 
Aller en bas de la page 
Astucien

Bonjour,

Je n'arrive pas à trouver le moyen de faire un EQUIV à l'envers (ou inverser la colonne avec un DECALER pour faire un EQUIV à l'endroit)

Dans cet exemple comment trouver la ligne 5 qui contient "Paul" sachant qu'il peut y avoir plusieurs "Paul" avant et que je ne veux pas créer une colonne de calcul intermédiaire contenant par exemple le prénom et le numéro de ligne genre =A1 & LIGNE(A1)

Cordialement,
D.



Modifié par Debrief le 01/03/2018 10:05
Publicité
bruber
 Posté le 01/03/2018 à 13:46 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour Debrief,

Je comprends la question mais quel est le but de la manœuvre ?

Et s'il y a trois Paul ... Donnes un peu plus d'explications.

Il est possible, sans macro, en association avec Equiv() et Decaler() en cascade, de trouver tous les "Paul" mais dans le sens haut-bas.

Debrief
 Posté le 01/03/2018 à 14:51 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour bruber,

C'est un affaire de compte bancaire et de date de valeur à créer. Je ne t'explique pas tout car ça serait trop long. Le fait est que, pour une opération donnée, je dois 'remonter' dans la colonne pour trouver la première ligne contenant "Relevé CB au*". Il me faut la 1ère occurrence au-dessus d'une ligne donnée.

C'est l'équivalent des "Paul" dans l'exemple ci-dessus qui sont en nombre indéterminé au dessus de la ligne 6. Je ne peux pas faire un EQUIV normal car je ne connais pas la valeur complète du "Relevé CB au*".

Sur une ligne donnée, je dois avoir une formule qui retourne le n° de ligne de la 1ère occurrence de "Paul" trouvée en remontant la colonne. Un EQUIV à l'envers en quelque sorte.

Debrief
 Posté le 01/03/2018 à 18:02 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Je ne crois pas que ce soit possible, rien trouvé sur Internet. J'ai écrit un embryon de macro pour mon besoin ponctuel, mais les fonctions persos dans les formules sont appelées trop souvent par Excel et ralentissent certaines opérations.

Public Function EQUIVINV(ByVal ValeurCherchée As Variant, ByRef Rng As Range) As Long

Dim i As Long
Dim Retour As Long
Dim tAdr() As String

Retour = 0
tAdr = Split(Replace(Rng.Address, ":", "$"), "$")

Select Case VarType(ValeurCherchée)
Case vbEmpty '0
Case vbNull '1
Case vbInteger '2
Case vbLong '3
Case vbSingle '4
Case vbDouble '5
Case vbCurrency '6
Case vbDate '7

Case vbString '8
For i = tAdr(5) To tAdr(2) Step -1
If Not IsError(Application.Match(ValeurCherchée, Range(tAdr(1) & i), 0)) Then Exit For
Next i
If i >= tAdr(2) Then Retour = i

Case vbObject '9
Case vbError '10
Case vbBoolean '11
Case vbVariant '12
Case vbDataObject '13
Case vbDecimal '14
Case vbByte '17
Case vbUserDefinedType '36
Case vbArray '8192
End Select

EQUIVINV = Retour
End Function



Modifié par Debrief le 01/03/2018 20:16
DjiDji59430
 Posté le 01/03/2018 à 19:28 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

{=petite.valeur(si(a1:a6="paul";ligne(a1:a6);"Ici le N° du paul que tu veux (1er, 2 eme, etc)")}

formule matricielle

Cdlmnt

Debrief
 Posté le 01/03/2018 à 19:42 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour Djidji du nord,

{=PETITE.VALEUR(SI(A1:A6="paul";LIGNE(A1:A6));1) donne 2
{=PETITE.VALEUR(SI(A1:A6="paul";LIGNE(A1:A6));2) donne 5

C'est pas inintéressant mais je ne sais pas à priori quel est le n° d'occurrence de "Paul" que je cherche car ce n° part du haut et je cherche la 1ère occurrence en partant du bas.

Cordialement,
D.

Debrief
 Posté le 01/03/2018 à 19:52 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Ceci dit, en transformant légèrement ta formule on peut obtenir le résultat souhaité:

{=PETITE.VALEUR(SI(A1:A6="paul";-LIGNE(A1:A6));1)*-1} donne 5

Merci pour le tuyau. Bien trouvé !

Edit: ou encore tout simplement {=GRANDE.VALEUR(SI(A1:A6="paul";LIGNE(A1:A6));1)} donne 5

Les caractères wildcard ne fonctionnement pas dans la chaîne mais on peut si besoin jouer sur des fonctions de texte, par exemple {=GRANDE.VALEUR(SI(GAUCHE(A1:A6;3)="pau";LIGNE(A1:A6));1)}



Modifié par Debrief le 01/03/2018 20:07
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
20,45 €Carte mémoire microSDXC UHS-I SanDisk A1 Ultra 128 Go à 20,45 €
Valable jusqu'au 05 Mars

Amazon propose actuellement la carte mémoire microSDXC UHS-I SanDisk A1 Ultra 128 Go à 20,45 € livrée gratuitement. Cette carte mémoire offre des vitesses jusqu'à 100 Mo/s et est idéale pour les téléphones, caméras et appareils photo HD. Elle est certifiée GoPro et Switch.


> Voir l'offre
113,60 €SSD SanDisk Ultra 3D 1 To à 113,60 €
Valable jusqu'au 01 Mars

En cette période de forte remontée des prix des SSD, Amazon fait une belle promotion sur le SSD SanDisk Ultra 3D d'une capacité de 1 To qui passe à 113,60 € livré gratuitement. On le trouve ailleurs autour de 160 €. Une bonne affaire pour ce SSD performant qui offre des débits de 560 Mo/s en lecture et 530 Mo/s en écriture. Cette version est garantie 3 ans.


> Voir l'offre
18,90 €Microsoft Office Professionnel 2016 Plus à 18,90 €
Valable jusqu'au 01 Mars

Le vendeur sérieux Digital FR sur Amazon propose la clé d'activation légale pour Microsoft Office Professionnel 2016 Plus en français à 18,90 €. Cette clé livrée par email vous permettra d'activer Microsoft Office Professionnel 2016 Plus légalement et vous permettra ainsi d'utiliser autant de temps que vous voulez (il s'agit de la version complète et pas d'un abonnement) Word,Excel, PowerPoint, OneNote, Outlook, Publisher et Access 2016 sur un PC. La clé sera à activer sur Office.com où vous pourrez ensuite télécharger toute la suite bureautique. Si la version 2019 fonctionne uniquement avec Windows 10, cette version 2016 fonctionne avec Windows 7, Windows 8 et Windows 10 !


> Voir l'offre

Sujets relatifs
rentrer date dans colonne Excel (Libre Office)
listing et somme valeurs unique dans colonne excel
importer une copie ecran en colonne dans excel
Problème pour insérer colonne dans Excel
Manipuler une colonne de nombres dans Excel
classement dans une colonne excel
déplacer une colonne dans excel 2003
Formules dans Excel
comptabiliser dans une colonne
choix multiple dans une cellule d'excel ?
Plus de sujets relatifs à EXCEL EQUIV en remontant dans une colonne
 > Tous les forums > Forum Bureautique