Prblème fonction offset

Prblème fonction offset - VB/VBA/VBS - Programmation

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

Reply

Marsh Posté le 05-09-2008 à 12:23:43   

Reply

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)
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),


Et avec "Selection", au lieu de "Selcton" ?


---------------
Si Le Travail C'est La Santé, Donnez Le Mien A Quelqu'un De Malade
Reply

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ù...

Reply

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) ?


---------------
Si Le Travail C'est La Santé, Donnez Le Mien A Quelqu'un De Malade
Reply

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+

Reply

Marsh Posté le 05-09-2008 à 14:52:26    

non, mais offset, j'connais, c'est vlookup que j'demande...


---------------
Si Le Travail C'est La Santé, Donnez Le Mien A Quelqu'un De Malade
Reply

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!

Reply

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+


Message édité par galopin01 le 05-09-2008 à 19:31:20
Reply

Sujets relatifs:

Leave a Replay

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