Condition

jeanphi

XLDnaute Occasionnel
Bonjour

Dans le fichier joint, je souhaite que les valeurs de la feuille "FEB" de la colonne B se copient sur la colonne A de la feuille "Commande" si la condition suivante est respectée:
Je veux que si la valeur de la colonne T est supérieure à la valeur de la colonne I + 20000 alors la valeur de la colonne B se copie dans la feuille "Commande"
Par ailleurs j'ai un autre souci:
Dans la colonne T, j'ai parfois des points d'interrogation si je ne connais pas le prix
Du coup, ma macro interprète ces lignes comme une valeur numérique et considère la cellule comme supérieure à la cellule de la colonne I
Comment régler ces problèmes SVP?
Merci :)
 

Pièces jointes

  • TEST.xls
    25 KB · Affichages: 60
  • TEST.xls
    25 KB · Affichages: 59
  • TEST.xls
    25 KB · Affichages: 57

pierrejean

XLDnaute Barbatruc
Re : Condition

Voila

il suffisait d'adapter

.Range("T8:T" & Sheets("FEB").Range("I65536").End(xlUp).Row)

dans to fichier les chiffres commencent colonne T ligne 8
 

Pièces jointes

  • T.zip
    38.4 KB · Affichages: 21
  • T.zip
    38.4 KB · Affichages: 20
  • T.zip
    38.4 KB · Affichages: 21

pierrejean

XLDnaute Barbatruc
Re : Condition

bonjour jeanphi

ça fonctionne si tes données en colonne T sont des nombres!!!!
pour plus de sureté j'ais modifié la macro pour qu'elle evalue le contenu ,mais il est preferable que tu veilles a n'avoir que des nombres
 

Pièces jointes

  • T.zip
    38.4 KB · Affichages: 14
  • T.zip
    38.4 KB · Affichages: 15
  • T.zip
    38.4 KB · Affichages: 15

jeanphi

XLDnaute Occasionnel
Re : Condition

je suis d'accord avec toi sur ce point pj
mais cette condition ne fonctionne pas!!!:
If cell.Offset(0, 0).Value > (cell.Offset(0, -11).Value) + 20000 Then
cell.Offset(0, -18).Copy Destination:=Sheets("Commande").Range("A" & Sheets("Commande").Range("A65536").End(xlUp).Row + 1)


si je rajoute 20000 de plus à un nombre de la colonne T par rapport à la colonne I et bien la macro ne me copie pas pour autant le numéro de la colonne B sur la feuille commande! :(
 

pierrejean

XLDnaute Barbatruc
Re : Condition

re

oui car la condition c'est > (superieur)
en ajoutant 20000 tu obtiens =(egal)
si ta condition n'est plus superieur mais superieur ou egal alors tu modifie

Code:
If cell.Offset(0, 0).Value [COLOR=red]>=[/COLOR] (cell.Offset(0, -11).Value) + 20000 Then
 

Discussions similaires

Réponses
6
Affichages
286
Réponses
22
Affichages
782

Membres actuellement en ligne

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote