[EXCEL] Récuperer contenu d'une cellule pour mettre dans une formule

Récuperer contenu d'une cellule pour mettre dans une formule [EXCEL] - Logiciels - Windows & Software

Marsh Posté le 14-11-2006 à 12:27:15    

Bonjour à tous,
 
Je suis bloqué.... :)  
Voici mon souci.
 
dans la colonne A, j'ai des founisseurs... On retrouve plusieurs fois les mêmes noms ex : DUPOND
 
Dans la colonne B, je souhaiterais, qu'il fasse le lien avec un classeur s'appelant DUPOND pour aller récupérer une valeur :  
 
Pour l'instant j'ai çà et çà fonctionne :
 
=RECHERCHEV(S1640,[DUPOND.xls]Feuil1!$A$5:$Z$180,26,FAUX)
 
Mais bien entendu, je souhaiterais qu'à la place de [DUPOND.xls], il fasse référence  au contenu de ma cellule de la colonne A...
 
Est-ce clair ? ;)  
 
Merci par avance pour votre aide.
Olivier


Message édité par titeuf220966 le 14-11-2006 à 16:46:40
Reply

Marsh Posté le 14-11-2006 à 12:27:15   

Reply

Marsh Posté le 14-11-2006 à 21:33:57    

Bonsoir,
rien trouvé pour aménager la formule directement dans excel.
Mais deux propositions en VB:
Ne pas oublier de réintroduire les les bonnes cellules s1640 etc...  
La première si tu souhaites le faire à la saisie du nom:
 
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub
Range("b" & Target.Row).Activate
fofo = "=Vlookup($D$1,[" & Range("a" & Target.Row).Value & ".xls]Feuil1!$A$3:$D$9,2,false )"
ActiveCell.Formula = fofo
End Sub
 
La deuxième si c'est pour faire une moulinette sur un existant:
Sub ev()
nbnoma = Cells(65536, 1).End(xlUp).Row
For i = 1 To nbnoma
Range("b" & i).Activate
fofo = "=Vlookup($D$1,[" & Range("a" & i).Value & ".xls]Feuil1!$A$3:$D$9,2,false )"
ActiveCell.Formula = fofo
Next i
End Sub
 
Cordialement
 

Reply

Marsh Posté le 14-11-2006 à 22:00:12    

Bonsoir
 
Bien le bondoir seniorpapou
 
Regarde du coté de la fonction INDIRECT
Je ne me souviens plus tres bien comment ca marche mais il me semble que pour le meme souci je l'avais utilisée.
 
Cordialement
 
PS : sinon comme toujours la solution de seniorpapou marche plus que bien. (meme si pour la 2nde solution j'aurais ajouté un application.screenupdating=false :p ) (et j'adore le nom de ses variables :p)
 
 
EDIT : Apres avoir cherché, un exemple est plus parlant :
Imaginons qu'en A1 tu ai saisi "B1" et qu'en B1 tu mettes "toto"
Et bien =Indirect(A1) renvois la valeur contenue dans B1, c'est a dire toto
C'est pas evident à piger mais fais un essai.
 
Exemple plus parlant :
 
1 |      A     |      B     |
2 |      B1    |      12   |
3 |      B2    |      8     |
 
Et bien =INDIRECT(A2) + INDIRECT(A3) renvoit 20
 
 
Donc si en B1 tu saisis [DUPOND.xls]Feuil1!$A$5:$Z$180
=indirect(A1) te le renverra sous forme de référence.
 
EDIT2:
La concatenation fonctionne avec INDIRECT, dans le cas ou tu voudrais aussi parametrer la/les colonne(s) ou la/les ligne(s)
 
Cordialement


Message édité par SuppotDeSaTante le 14-11-2006 à 22:25:30

---------------
Soyez malin, louez entre voisins !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed