Prblème fonction offset - VB/VBA/VBS - Programmation
Marsh Posté le 05-09-2008 à 13:54:31
zbarbar a écrit : Selection.Offset(i, 0).Value = Application.WorksheetFunction.VLookup(selction.Offset(i, -1), Sheets("donnees" ).Range("a10:d24" ), 2, False) |
Et avec "Selection", au lieu de "Selcton" ?
Marsh Posté le 05-09-2008 à 14:01:09
J'avais juste fais une erreur de frappe en recopiant mais le code était bien selection...Le problème vient d'ailleus mais je n'arrie pas a savoir d'où...
Marsh Posté le 05-09-2008 à 14:19:44
Je suis désolé, je ne connais pas la commande vlookup... Pourrais-tu me l'expliquer rapidement (pour que je puisse tester sur ma machine) ?
Marsh Posté le 05-09-2008 à 14:51:35
Offset est une propriété pas une fonction
selection.offset(x,y) tout seul est incorrect
il faut appliquer une méthode ou une autre propriété :
selection.offset(1).select
msgbox selection.offset(1).address
...
A+
Marsh Posté le 05-09-2008 à 14:52:26
non, mais offset, j'connais, c'est vlookup que j'demande...
Marsh Posté le 05-09-2008 à 17:38:44
Bonjour,
J'ai essayé autre chose, j'ai mis la boucle plus haut et j'ai écrit:
For i = 1 To 15
Sheets("feuille_de_calcul" ).Cells(5, 2).Select
Selection.End(xlDown).Select
Selection.Offset(i, 0).Select
Selection.Value = Application.WorksheetFunction.VLookup( _
Selection, donnees!Range("a10:d24" ), 2, False)
Suite à cela, j'obtiens le message d'erreur: "objet requis"
Quelqu'un aurait-il une solution?? Je vous avoue que je n'y comprnd rien!!!
Merci pour votre aide!
Marsh Posté le 05-09-2008 à 19:28:27
'scuse cette remarque... mais... ça te pendait au nez avec un pseudo comme ça :
Ton code est un peu... barbare !
selection n'est sans doute pas un argument valable pour VLookup (il en est souvent ainsi avec selection qui est assez imprécis)
A ta place je travaillerai plutot sur le code initial... que je verrai plutot ainsi :
Sub endxl()
k =Sheets("feuille_de_calcul" ).Cells(5, 2).End(xlDown).Row+1
For i = 0 To 14
Z = Sheets("feuille_de_calcul" ).Cells(k+i, 1).Value
Sheets("feuille_de_calcul" ).Cells(k+i, 2).Value = Application.WorksheetFunction.VLookup( Z ,Sheets("donnees" ).Range("a10:d24" ), 2, False)
Next
A+
Marsh Posté le 05-09-2008 à 12:23:43
Bonjour,
Je voudrais à l'aide de la foncton offset utliser un recherchev. Voilà mon code:
Sub endxl()
Sheets("feuille_de_calcul" ).Cells(5, 2).Select
Selection.End(xlDown).Select
Selection.Offset(1, 0).select
For i = 0 To 14
Selection.Offset(i, 0).Value = Application.WorksheetFunction.VLookup(selction.Offset(i, -1), Sheets("donnees" ).Range("a10:d24" ), 2, False)
Next
Mais un message d'erreur apparait. Après tests, j'ai vu que ce qui n'allait pas est
VLookup(Selcton.Offset(i, -1), .
Je ne sais pas i le code suffit pour que vous compreniez ce que je veux faire. Désolé si je ne suis pas assez clair. Si vous voulez des précisions, dites le moi.
Merci d'avance pour votre aide