Macro : Vba : insérer un message texte si 2 cellules identiques

glnmchl Messages postés 23 Date d'inscription   Statut Membre Dernière intervention   -  
glnmchl Messages postés 23 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour !
Je commence en Vba et galère un peu avec une formule qui pourtant, ne doit pas être compliquée.

J'ai deux feuilles dans un classeur. Feuil1 et Feuil2
Dans la feuille 1 j'ai une colonne référence en C
Dans la feuille 2, j'ai une colonne référence en B et une colonne quantité en E.

Je dois remplir la colonne F de la Feuil1 avec une message du genre "Attention" si il y a une quantité inhérente dans la Feuil2 colonne E si les références de la feuille 1 et 2 sont égales.

Je n'arrive pas à trouver le code qui puisse m'effectuer une sorte de RechercheV finalement...

J'espère que j'arrive à me faire comprendre.


Je vous remercie !
A voir également:

3 réponses

via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Bonjour

Pour appliquer une fonction Excel en VBA il faut passer par Application.WorksheetFunction suivi du nom de la fonction en anglais et des arguments entre parenthèses
exemple :
ch=Application.WorksheetFunction.VLookup(sheets("Feuil1").Range("C3"),Sheets("Feuil2").Range("B2:E100"),4,0)
correspond à la formule que tu mettrais dans une cellule:
=RECHERCHEV(Feuil1!C3;Feuil2!B2:E100,4,0)

Cdlmnt
0
glnmchl Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Via55 et merci de ta réponse.
Pour globaliser à l'ensemble de de la colonne C (de C2 à Cx) comment procède t'on ? Le 4 ici correspond à la colonne E ? (donc 5?) ou alors je me trompe peut être.
Je te remercie !
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746 > glnmchl Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
Re,

D'abord considère la remarque de Gyrus, que je salue au passage, pas forcément besoin de VBA, cela peut être géré par formules
Néanmoins si tu veux en VBA :
Pour globaliser à l'ensemble il te faut faire une boucle For Next de 2 à x
Le 4 correspond à la 4eme colonne de la plage B2:E100 soit bien la E
Cela pourrait donner quelque chose comme ceci (à adapter concernant les n°s de dernière ligne de chaque plage
Sub comparaison()
For n = 2 To 200 'boucle sur les lignes 2 à 200 en 1 A adapter
On Error GoTo erreur
ch = Application.WorksheetFunction.VLookup(Sheets("Feuil1").Range("C" & n), Sheets("Feuil2").Range("B2:E100"), 4, 0) 'plage à adapter
If ch <> "" Then Sheets("Feuil1").Range("F" & n) = "Attention"
erreur:
Next n
End sub


Cdlmnt
0
glnmchl Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
Je te remercie via55 !
0
Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526
 
Bonjour,

Tu n'as peut-être pas besoin d'utiliser VBA pour cela.
En F2, tu places la formule :
=SI(NB.SI.ENS(Feuil2!$B$2:$B$1000;C2;Feuil2!$C$2:$C$1000;"<>")>0;"ATTENTION";"")

et tu tires cette formule vers le bas.

A+
0
glnmchl Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Gyrus !
Ca semble marcher, je vais vérifier tout ça.
Ca m'enlève une sacrée épine du pied !

Bonne journée :)
0
Zoul67 Messages postés 1959 Date d'inscription   Statut Membre Dernière intervention   149
 
Bonjour,

C'est quoi, une "quantité inhérente" ?

A+
0
glnmchl Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Zoul67
une quantité qui est liée à la cellule
0