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

SIERREUR RECHERCHEV SI en une seule macro vba

nidale

XLDnaute Nouveau
Bonjour tout le monde,
je suis une débutante en programmation vba excel, et je bloque pour écrire une macro qui concerne la formule suivante :


AO2 =SIERREUR(SI(ET(RECHERCHEV($M2;IRIS_PAP;7;FAUX)=L2;RECHERCHEV($M2;IRIS_PAP;9;FAUX)=AE2);RECHERCHEV($M2;IRIS_PAP;13;FAUX);"Pb IRIS");"IRIS indispo")

sachant que cette formule doit s'appliquer à toute la colonne AO2 et que je ne connais pas d'avance le nombre finale de ligne pour cette colonne,
est ce que ça sera possible de m'aider SVP ?
merci d'avance
 

Pierrot93

XLDnaute Barbatruc
Re : SIERREUR RECHERCHEV SI en une seule macro vba

Bonjour,

essaye comme ceci si j'ai bien compris :
Code:
    Range("AO2:AO" & Cells(Rows.Count, 41).End(xlUp).Row).FormulaR1C1 = _
        "=IFERROR(IF(AND(VLOOKUP(RC13,IRIS_PAP,7,FALSE)=RC[-29],VLOOKUP(RC13,IRIS_PAP,9,FALSE)=RC[-10]),VLOOKUP(RC13,IRIS_PAP,13,FALSE),""Pb IRIS""),""IRIS indispo"")"

bonne journée
@+
 

nidale

XLDnaute Nouveau
Re : SIERREUR RECHERCHEV SI en une seule macro vba

si tu peux juste m'expliquer stp la macro, comme ca je peux l'appliquer pour le reste de mes colonnes dont j'ai besoin , ça sera gentil de ta part ,
 

Pierrot93

XLDnaute Barbatruc
Re : SIERREUR RECHERCHEV SI en une seule macro vba

Re,

la formule s'applique à toute la plage dont la dernière ligne est déterminée par le bas de la colonne (rows.count) en remontant... j'espère avoir été clair...
 

nidale

XLDnaute Nouveau
Re : SIERREUR RECHERCHEV SI en une seule macro vba

une autre question si ça ne te dérange pas, j'essaie de faire la correespondance entre ces deux formules, mais j'y arrive pas puisqu'il ne reconnait pas le test que je fais sur pour Q4= "Maison"

"=IF(RC[-17]="Maison",IFERROR(VLOOKUP(L2,FAR,3,0),""),"")"

=SI(ET(Q4="Maison";AA4="Non";Z4="");"Modifier en Oui";"")
 

Pierrot93

XLDnaute Barbatruc
Re : SIERREUR RECHERCHEV SI en une seule macro vba

Re,

regarde ceci :

Code:
    ActiveCell.FormulaR1C1 = _
        "=IF(AND(R[3]C[3]=""Maison"",R[3]C[13]=""Non"",R[3]C[12]=""""),""Modifier en Oui"","""")"

A voir où tu places la formule... A noter également, l'enregistreur de macro est une aide précieuse dans ce cas...
 

Pierrot93

XLDnaute Barbatruc
Re : SIERREUR RECHERCHEV SI en une seule macro vba

Re,

j'ai utiliser l'enregistreur de macr en placant ta formule dans une cellule :
=SI(ET(Q4="Maison";AA4="Non";Z4="");"Modifier en Oui";"") "

est ce que c'est la cellule (i,j) ?
euh... vois pas de i j dans le code que je t'ais proposé...
 

nidale

XLDnaute Nouveau
Re : SIERREUR RECHERCHEV SI en une seule macro vba

Code:
    ActiveCell.FormulaR1C1 = _
        "=IF(AND(R[3]C[3]=""Maison"",R[3]C[13]=""Non"",R[3]C[12]=""""),""Modifier en Oui"","""")"


parce que je trouve R[3]C[3] et parfois RC13, donc je ne vois pas la différence, ou plutot je ne comprends pas la différence entre les 2 formules
 

Pierrot93

XLDnaute Barbatruc
Re : SIERREUR RECHERCHEV SI en une seule macro vba

Re,

parce que je trouve R[3]C[3] et parfois RC13, donc je ne vois pas la différence, ou plutot je ne comprends pas la différence entre les 2 formules
c'est le décalage ligne colonne des cellules par rapport à la cellule où est placé ta formule.... test en utilisant l'enregistreur de macro, tu devrais comprendre rapidement....
 

nidale

XLDnaute Nouveau
Re : SIERREUR RECHERCHEV SI en une seule macro vba

Franchement, je ne vois pas vraiment ce que c'est, parce que parfois je comprends que c'est le rang de la colonne tout court, parfois c'est le rang de la colonne par rapport à une autre colonne ... ça me met dans une situation de confusion :/ :/ :/
je suis désolée si je pose beaucoup de question, mais c'est que je ne comprends pas vraiment
 

nidale

XLDnaute Nouveau
Re : SIERREUR RECHERCHEV SI en une seule macro vba

Oui j'ai essayé l'enregistreur automatique du solveur, ça m'a beaucoup aidé, merci beaucoup
mais en fait je cherche à automatiser la tache, puisque mon tableau change à chaque fois, et la taille de ma colonne change aussi ,
par exemple j'ai du ajouté des modifications à ce que tu m'avais envoyé, et ça donne ça

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Application.Intersect(Target, Range("M2")) Is Nothing Then

Target.Offset(0, 29).Formula = "=VLOOKUP(M2,IRIS_PAP,21,0)"
Target.Offset(0, 29).Value = Target.Offset(0, 29).Value

End If
End Sub

sachant que j'ai fait une macro qui selectionne ma plage de données, comme ça ça se fait d'une manière plus ou moins automatique, si tu vois ce que je veux dire
 

Discussions similaires

Réponses
3
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…