Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2854 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Problème boucle VBA avec vlookup

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème boucle VBA avec vlookup

n°2214155
fredgreta
Posté le 19-12-2013 à 23:08:19  profilanswer
 

Bonjour,
je viens de débuter en vba et je rencontre déjà quelques souci avec mon petit programme.
 
J'ai donc créé le programme suivant :  
 

Citation :

Sub Macro1()
 
Range("h4" ).Select
 
For i = 1 To 10 'Debut de la boucle'
 
If ActiveCell.Value = "" Then 'Si cellule vide alors
 
On Error GoTo Erreurs 'Si erreur aller directement à la ligne Erreurs:
 
ActiveCell.Value = WorksheetFunction.VLookup(Range("P1" ), Sheets("OK" ).Range("C:E" ), 2, Faux) 'Rechercher la valeur P1 dans la deuxiéme feuille
 
ActiveCell.Offset(0, 1).Select 'Colonne suivante
 
ActiveCell.Value = WorksheetFunction.VLookup(Range("P1" ), Sheets("OK" ).Range("C:E" ), 3, Faux) 'Rechercher la valeur P1 dans la deuxiéme feuille
 
ActiveCell.Offset(1, -1).Select 'Passer a la ligne suivante
 
Erreurs:
    If Err.Number = 1004 Then
     
    ActiveCell.Value = "KO"
 
    ActiveCell.Offset(0, 1).Select
     
    ActiveCell.Value = "KO"
 
    ActiveCell.Offset(1, -1).Select
 
    End If
     
    Else
     
    ActiveCell.Offset(1, 0).Select
     
    End If
 
Next
 
End Sub


 
 
Voilà, donc tout ce passe bien tant que le vlookup trouve la valeur recherché. Parlons maintenant de lorsqu'il ne trouve pas la valeur, cela fonctionne sur la premiere ligne, il me met bien "KO" sur les deux colonnes, par contre la ligne suivante me donne une erreur 1004' Impossible de lire la propriété Vlookup de la classe worksheetfunction et la procédure s'arrête. Avec mes maigres connaissance en VBA, je ne comprend pas pourquoi cela me fait ça.
 
Si cela vous interesse j'ai une copie de mon fichier ici
 
https://mon-partage.fr/f/gTlDpIgY/ en xlsm et https://mon-partage.fr/f/q6cR3XI5/ en xlm
 
Merci d'avance pour votre aide.

mood
Publicité
Posté le 19-12-2013 à 23:08:19  profilanswer
 

n°2214253
Marc L
Posté le 20-12-2013 à 18:35:53  profilanswer
 

 
           Bonjour,
 
           à première vue plein de choses ne me plaisent pas (un bon code est sans  Select  répété),
           mais avant de chercher à décoder, j'ai plutôt besoin de savoir en langage courant le but détaillé de
           cette procédure, pour voir si tout de même c'est la bonne voie ou en proposer une autre,
           sauf si c'est dans un cadre scolaire sous contrainte d'un cours en particulier …
 

n°2214254
Marc L
Posté le 20-12-2013 à 18:44:28  profilanswer
 

 
           Au lieu de  WorksheetFunction.  je préfère utiliser  Application. et tester le résultat
           avec la fonction  IsError  évitant ainsi de recourir à l'instruction  On Error  …
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Problème boucle VBA avec vlookup

 

Sujets relatifs
[VBA] Outlook : Creation d'une textboxProblème Positionement div
Problème avec fonction pow[VBA-Excel] Comment appeler un fichier pour récupérer des données ?
[Résolu] Problème envoi formulaireProblème de connexions successives à MYSQL
Help Problème VBA: Seriescollection.nameProblème premier site flash
Probleme vba 
Plus de sujets relatifs à : Problème boucle VBA avec vlookup


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR