Récuperer contenu d'une cellule pour mettre dans une formule [EXCEL] - Logiciels - Windows & Software
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
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 ) (et j'adore le nom de ses variables )
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
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