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

vlookup ne renvois rien si cellule vide

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

grenadine

XLDnaute Nouveau
Bonjour,

J'associe deux onglets par le biais d'un vlookup. Hors dans mon second onglet il m'arrive d'avoir des cellules vide.
Avec un vlookup cela me renvoie des 0 à la place des cellules vide. Après je dois nettoyer tout ces 0 sans supprimer les vrai zero.

J'aimerais donc améliorer mon vlookup et renvoyer une valeur seulement si la case est non vide.
Voici ce que j'ai essayé
Code:
    Range("as2").Select
            If ActiveCell.FormulaR1C1 = "=VLOOKUP(RC44,'2'!C1:C39,Column()-43,FALSE)" = "" Then
    
    ActiveCell.FormulaR1C1 = ""
    Else
         ActiveCell.FormulaR1C1 = "=VLOOKUP(RC44,'2'!C1:C39,Column()-43,FALSE)"
         
 End If

Malheureusement ça ne marche pas. Pourriez vous me donner un coup de pouce.
Merci
 
Re : vlookup ne renvois rien si cellule vide

merci pour cette réponse lian du coup je met cette formule après mon Vlookup.
Sauf que si je renvoie des "vrai" 0 c'est à dire si j'avais une cellule dans mon onglet 2 avec un 0 je vais le supprimer aussi. Alors que je veux seulement ne rien afficher pour les cellule vide.
Enfin cela marche t-il si 0 est la valeur renvoyé par la formule? ou seuelemnt si c'est une valeur en dur?
 
Dernière édition:
Re : vlookup ne renvois rien si cellule vide

Mes données étant confidentiel j'ai pris un peu de temps pour simuler un fichier exemple.
J'ai mis m'a macro avec.
Ce que je veux faire c'est rajouter mes informations de mon onglet 2 dans mon onglet 1 --> OK
on constate dans l'onglet 2 que:
- certaines informations notament dans la colonne somme son à 0
- je n'ai pas toujours toutes les valeurs donc j'ai des cellules vide

Si je fait un recherche v (jouer la macro) j'ai des 0 pour les "vrai" 0 des sommes et pour les cellules vides. je ne sait donc pas différencier mes 0 automatiquement.
C'est pouruqoi j'aimerais renvoyé seulement des valeurs pour les colonnes non vides.
Un peu comme la formule : =SI(RECHERCHEV($D2;'2'!$A:$F;COLONNE()-3;FAUX)="";"";RECHERCHEV($D2;'2'!$A:$F;COLONNE()-3;FAUX))
C'est ce que j'ai essayé de retranscrir en VBA mais je n'y arrive pas.
 

Pièces jointes

Dernière édition:
Re : vlookup ne renvois rien si cellule vide

Salut,

essaie ça :
=SI(ESTVIDE(RECHERCHEV($D2;'2'!$A:$F;COLONNE()-3;FAUX));"";RECHERCHEV($D2;'2'!$A:$F;COLONNE()-3;FAUX))
la fonction ESTVIDE indique si la cellule renvoyée est vide, si c'est vide on met "" sinon on met le résultat de rechercherv.

Lian
 
Re : vlookup ne renvois rien si cellule vide

Bonsoir grenadine,

Comme dans cet autre fil (où tu étais d'ailleurs intervenue), ce qui serait bien ce serait d'expliquer le contexte, pour que les répondeurs puissent ne pas avancer en aveugle. Ca permettrait peut-être de comprendre pourquoi tu veux passer par du code ... pour inscrire ... une formule dans une cellule 😕
 
Re : vlookup ne renvois rien si cellule vide

Bonjour,

Désolée quelque urgence ont mis m'à macro de côté.
@ Modeste : J'ai besoin d'information contenus dans 2 répertoires differents d'une base de donné. Mon objectif est donc de "recoller" ces 2 répertoires réprésenté par l'onglet 1 et l'onglet 2.
Dans l'onglet 1 je colle via une recherche V 42 colonnes provenant de l'onglet 2. Mon fichier àun nombre de ligne ariable en fonction des droits et peut atteindre pour le moment jusqu'à 21000 lignes. C'est pouruqoi j'industrialise mon recherche V par une macro.
Le but à terme étant de sortir des indicateurs les utilisateurs n'auront plus qu'à coller leur données dans les onglets 1 et 2 et tout le collage et calculs se feront automatiquement en lancant la macro.

@Lian: En collant directement dans excel pas de soucis mais dans que je passe dans la macro ca ne marche plus. JE suppose que c'est parce que c'est du If et que je ne maitrise pas du tout cette fonction. cette partie
Code:
ActiveCell.FormulaR1C1 = "=IF(ISBLANK((VLOOKUP(RC44,'2'!C1:C39,Column()-43,FALSE));"";VLOOKUP(RC44,'2'!C1:C39;Column()-43,FALSE))"

J'ai aussi essayé sans plus de succès:
Code:
Range("as2").Select
            If ActiveCell.FormulaR1C1 = Isblank(VLOOKUP(RC44,'2'!C1:C39,Column()-43,FALSE)) Then
    
    ActiveCell.FormulaR1C1 = ""
    Else
         ActiveCell.FormulaR1C1 = "=VLOOKUP(RC44,'2'!C1:C39,Column()-43,FALSE)"
         
 End If


Merci de votre aide
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

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