PB de référence à une valeur de cellule

D

DAVIDRUN

Guest
Bonsoir à toutes et à tous,

Mon problème est le suivant:
Je souhaite faire référence à la valeur d'une cellule (un prénom) dans une autre cellule;
cependant en formulant une référence à la cellule correspondante au prénom (=A4 par exemple)
la formule reste inchangée après un tri sur la colonne des prénoms.
Ce qui a naturellement pour effet d'afficher un autre prénom ayant pris place en cellule A4.
Le fichier ci-joint pose le problème en détail.
J'ose imaginer que la solution est toute simple mais je ne connais pas la formule magique..!
Merci de me venir en aide...

Bonnes fêtes de fin d'années

DAVIDRUN
 

Pièces jointes

  • Liste.zip
    18.1 KB · Affichages: 10
  • Liste.zip
    18.1 KB · Affichages: 13
  • Liste.zip
    18.1 KB · Affichages: 12
H

Hervé

Guest
bonsoir

un exemple de macro à placer dans la sub majliste :

Dim c As Range
For Each c In Range("a2:a" & Range("a65000").End(xlUp).Row)
If c.Value = "Eugène" Then
Range("e14").Formula = "=a" & c.Row
Range("f14").Formula = "=b" & c.Row
End If
Next c

Salut
Hervé
 
G

Gérard DEZAMIS

Guest
Bonsoir David

Un petit coup de pouce...
à la mesure de mes moyens. Il faudra améliorer ça avec le problème de la liste qui sera variable...
Affaire à suivre si le début est bon

@+
GD
 

Pièces jointes

  • Listebis.zip
    15.9 KB · Affichages: 20
  • Listebis.zip
    15.9 KB · Affichages: 12
  • Listebis.zip
    15.9 KB · Affichages: 13
G

Gérard DEZAMIS

Guest
Bien joué Hervé

main3.gif


VBA plus rapide que formule

Démonstration faite

@+ GD
 
D

DAVIDRUN

Guest
Salut à tous,
Tout d'abord merci pour votre participation à mon problème.
Après avoir étudié vos solutions, j'ai retenu la formule de Gérard
qui correspond au résultat que je recherche.
En effet dans le fichier réadapté ci-joint, je donne plus de précisions sur le résultat à obtenir, j'ai besoin à nouveau de votre aide.
Je pense que l'on est à présent sur la bonne piste.

Bonne journée

DAVIDRUN
 

Pièces jointes

  • Listebis.zip
    20.7 KB · Affichages: 13
  • Listebis.zip
    20.7 KB · Affichages: 9
  • Listebis.zip
    20.7 KB · Affichages: 35
G

Gérard DEZAMIS

Guest
Bonjour David

Question au sujet de la cellule E12 :
que veux-tu qu'elle représente ?
une place fixe ? c'est à dire ici la valeur du "Client" placé en A9 ou autre chose ?
Si c'est ce que tu cherches il faut mettre =A9 en E12 Mais cele me semble un peu simple .....


@+ GD
 
D

DAVIDRUN

Guest
Bonjour Gérard

La cellule E12 dont tu parles ou plutôt la cellule E15 en feuil2 à présent
est variable; j'y fait apparaître des prénoms avec une instruction Vba.
La cellule à sa droite (E15) doit se mettre à jour à chaque changement de prénoms et afficher le chiffre associé au prénom.
A savoir que la base de donnée est en feuil1 et que j'y opère des ajouts
et suppression de lignes, et un tri automatique est fait à chaques opérations.


Comme tu l'imagine je n'obtient pas le résultat souhaité en mettant
un =A9, car le tri va déplacer les prénoms à chaque ajout dans la liste.

Ta combinaison INDEX/EQUIV fonctionne comme je le veux, mais en feuil2
tu verras que je pose un tout autre problème.
Je joint à nouveau mon fichier.

Pardonne moi mon ignorance mais comment as-tu fait pour obtenir les
2 cellules jaunes avec liste, un TCD, une formule 3D?

Et encore merci

à + DAVIDRUN
 

Pièces jointes

  • Listebis.zip
    21.7 KB · Affichages: 15
  • Listebis.zip
    21.7 KB · Affichages: 13
  • Listebis.zip
    21.7 KB · Affichages: 16
D

DAVIDRUN

Guest
Bonjour Gérard,

Finalement en cherchant un peu j'ai découvert qu'il s'agissait d'une liste
de validation; je garde précieusement tes astuces à ce sujet.
Cependant, je ne devrait pas en avoir besoin, étant donné que j'inscris
le nom dans la cellule à l'aide de Vba.
En outre, tout fonctionne parfaitement avec la formule INDEX/EQUIV.
Reste à présent à écrire cette formule à l'aide de vba :

Le code suivant ne fonctionne pas bien sûr...

Feuil2.Range("F15").Formula = "=INDEX(Feuil1!A2:B17;EQUIV(Feuil2!E15;Feuil1!A2:A17;0);EQUIV(" & Chr(34) & "Nb" & Chr(34) & ";Feuil1!A1:B1;0))"

De plus, comment adapter la formule pour qu'elle prenne en compte le fait
que la base de donnée sera variable (ajout de noms, suppressions)?

Voilà quelques bonnes heures voir quelques jours de travail qui m'attendent...

Peut-être pour toi n'est-ce qu'un exercice, auquel cas merci de me transmettre tes solutions.

Bon reveillon.

DAVIDRUN
 

Discussions similaires

Statistiques des forums

Discussions
312 496
Messages
2 088 974
Membres
103 995
dernier inscrit
Flodk