Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

ISNA et VLOOKUP KO

0nicey0

XLDnaute Nouveau
Bonjour chers excelliens,
je me tourne vers vous après plusieurs heures à essayer de faire marcher mes macros:

Je voudrais alimenter le champ client (col AV) de mon classeur IM015DISFE de la manière suivante:
1. les données historiques existent (AQ) et je les prends sinon
2. je fais un vlookup à partir de la colE , dans un fichier "Suivi immob" feuill 1 de colD à AL et ramène la col35
3. Si le vlookup ramène N/A alors j'utilise des règles de gestion définies par un select case.

Pb: mon ISNA ne fonctionne pas et mon Vlookup non plus. Auriez-vous une idée pourquoi?

Ci-joint mon code:
Merci mille fois d'avance




Sub IM015_Client()

Dim i As Long


'le champ client (AV) s'obtient d'abord par une recherche du numéro d'immobilisation dans un tableau de référence. Si aucune donnée n'est trouvée alors application des exceptions

NbreLignes = Range("A65536").End(xlUp).Row

For i = 2 To NbreLignes

' le champ( AV)client s'alimente d'abord par les données historiques (AQ) sinon on alimente la colonne BZ (prise au hasard) par un vlookup sur une table (fichier SuiviImmFil .xls)


If Application.WorksheetFunction.IsNA(Range("AQ" & i)) = true Then

Range("BZ" & i).Value = "=VLOOKUP(""" & Range("E" & i).Value & """,'[" & SuiviImmFil & "]Feuil1'!D:AL,35,FALSE)"
Else
Range("AV" & i).Value = Range("AQ" & i).Value
End If



'Si les données ne sont pas trouvées dans le fichier de suivi alors appliquer les règles de gestion des exceptions pour alimenter la cellule AV: selon la valeur dde la cellule (AS)(cells(i,45) alimenter le champ AV(cell(i,48)

If Application.WorksheetFunction.IsNA(Range("BZ" & i))
=true Then

Select Case Cells(i, 45).Value
Case Is = "Projets métiers ELP"
Cells(i, 48).Value = "ELP"
Case Is = "Projets métiers LBP"
Cells(i, 48).Value = "LBP"
Case Is = "Transverse et support"
Cells(i, 48).Value = "N/A"
Case Is = "Ressources communes"
Cells(i, 48).Value = "N/A"
Case Is = "GAB - signalétique"
Cells(i, 48).Value = "LBP"
End Select


Else
Range("AV" & i).Value = Range("BZ" & i).Value

End If

Next i

'Suppression ensuite de la colonne BZ
'Columns("BZ:BZ").Select
'Application.CutCopyMode = False
'Selection.ClearContents
 

STephane

XLDnaute Occasionnel
Re : ISNA et VLOOKUP KO

L'utilisation de ISNA est juste et fonctionne.

Par contre, c'est vrai que sans fichier le VLOOKUP est dur à analyser.
Le terme SuiviImmFil est-il une variable ?? si c'est le nom de ton fichier tu dois revoir ta concaténation.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…