OVH Cloud OVH Cloud

RECHERCHE OU INDEX

5 réponses
Avatar
Jol
Bonjour,

Je voudrais solutionner le problème suivant :

Une base de données sous XLS.

3 Colonnes :

A B C
Noms Clas N°
toto A 241
titi A 724
tutu B 580
toto A 241

j'aimerais avoir la possibilité, en retapant "tutu" à la suite en col A que
B et C se mettent à jour, càd B en col B et 580 en col C.
Je patauge grave.

Merci


JC

5 réponses

Avatar
patrick.lyon
bonjour
regarde du coté de la fonction RECHERV() si ça correspond a ton souhait

"Jol" avait énoncé :
Bonjour,

Je voudrais solutionner le problème suivant :

Une base de données sous XLS.

3 Colonnes :

A B C
Noms Clas N°
toto A 241
titi A 724
tutu B 580
toto A 241

j'aimerais avoir la possibilité, en retapant "tutu" à la suite en col A que
B et C se mettent à jour, càd B en col B et 580 en col C.
Je patauge grave.

Merci


JC


--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

Avatar
Ellimac
Bonjour,

Plusieurs solutions :
=Recherchev(réf;plagecomplète;2;0)
=Recherchev(réf;plagecomplète;3;0)
où réf est la cellule à rechercher, plagecomplète le
tableau complet où rechercher et 2 ou 3 l'index de colonne
à retourner, et enfin 0 pour une recherche exacte.

Sinon avec Index :
=Index(plagecomplète;equiv(réf;plagenoms;0);2 ou 3)

Avec Décaler :
=Décaler(plagecomplète;equiv(réf;plagenoms;0)-1;2 ou 3;1;1)

Camille

-----Message d'origine-----
Bonjour,

Je voudrais solutionner le problème suivant :

Une base de données sous XLS.

3 Colonnes :

A B C
Noms Clas N°
toto A 241
titi A 724
tutu B 580
toto A 241

j'aimerais avoir la possibilité, en retapant "tutu" à la
suite en col A que

B et C se mettent à jour, càd B en col B et 580 en col C.
Je patauge grave.

Merci


JC


.



Avatar
Chris MICHEL
Bonjour,

une solution possible à coller dans le code de la feuille
en question:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

If Target.Column = 1 Then

Target.Offset(0, 1).FormulaR1C1 = _
"=IF(ISNA(MATCH(RC1,R2C1:R[-1]C1,0)),"""",INDEX
(R2C:R[-1]C,MATCH(RC1,R2C1:R[-1]C1,0)))"
Target.Offset(0, 1).AutoFill Destination:=Range
(Target.Offset(0, 1), Target.Offset(0, 2)),
Type:=xlFillDefault

End If

End Sub

(faire gaffre aux cassures de lignes dues au format du
message et qui sont illégales dans VBA).

Chris.



-----Message d'origine-----
Bonjour,

Je voudrais solutionner le problème suivant :

Une base de données sous XLS.

3 Colonnes :

A B C
Noms Clas N°
toto A 241
titi A 724
tutu B 580
toto A 241

j'aimerais avoir la possibilité, en retapant "tutu" à la
suite en col A que

B et C se mettent à jour, càd B en col B et 580 en col C.
Je patauge grave.

Merci


JC


.



Avatar
Chris MICHEL
J'a peut-être été un peu bref dans ma première réponse:

le code agit de la façon suivante: si une case de la
feuille est modifiée, la macro regarde dans quelle colonne
se trouve la cellule. si elle se trouve dans A, il inscrit
des formules de recherche adaptée dans B et C à la même
ligne, je te laisse déchiffrer les dites formules de
recherche (une combinaison d'index et d'equiv) mais
n'hésite pas à reposter une quesiton si tu veux plus de
précisions.

De temps en temps, je te conseille de faire copier-colage
spécial valeur

hris.
-----Message d'origine-----
Bonjour,

Je voudrais solutionner le problème suivant :

Une base de données sous XLS.

3 Colonnes :

A B C
Noms Clas N°
toto A 241
titi A 724
tutu B 580
toto A 241

j'aimerais avoir la possibilité, en retapant "tutu" à la
suite en col A que

B et C se mettent à jour, càd B en col B et 580 en col C.
Je patauge grave.

Merci


JC


.



Avatar
Jol
Merci à tous.

"Jol" a écrit dans le message de news:
#IIJ$
Bonjour,

Je voudrais solutionner le problème suivant :

Une base de données sous XLS.

3 Colonnes :

A B C
Noms Clas N°
toto A 241
titi A 724
tutu B 580
toto A 241

j'aimerais avoir la possibilité, en retapant "tutu" à la suite en col A
que

B et C se mettent à jour, càd B en col B et 580 en col C.
Je patauge grave.

Merci


JC