While et deux conditions

Bonjour,

c'est une toute petite question que j'aurai.

Dans une partie de la macro que je suis en train d'écrire je déplace petit à petit la sélection de la cellule pour pouvoir y copier les données une par une. Pour cela j'utilise While. Cependant j'aimerai ajouter une condition supplémentaire à while. Mais je ne sais pas si c'est possible:

je vous montre:

Range("C9").Select
   While ActiveCell.Value <> "0"    
ActiveCell.Offset(1, 0).Select
   Wend
   ActiveCell = NAffaire
  ActiveCell.Offset(0, 1).Select
  ActiveCell = Désignation
  ActiveCell.Offset(0, 1).Select
  ActiveCell = Raffaire
  ActiveCell.Offset(0, 1).Select

en plus d'être différente de zéro j'aimerai savoir si je pouvais ajouter la contion: différente de la valeur de NAffaire.

Puis-je mettre <> NAffaire à la suite de <> 0??

Merci Beaucoup

Julien.

Bonjour,

Je ne vois pas bien ce que tu veux faire.

Mais si tu veux ajouter une condition, tu peux utiliser le IF

IF ....... then ......

Ce n'est pas ceci que tu veux faire ?

While Range("C9") <> "0"
Range("C9").Offset(1, 0) = NAffaire
  Range("C9".Offset(1, 1) = Désignation
  Range("C9").Offset(1, 2) = Raffaire
Wend

A te relire

Dan

Merci pour ta réponse Dan, ce n'est pas exactement ce que je cherche je vais essayer d'être compréhensible.

J'ai un formulaire dédié à de nouvelles affaires (d'où la recherche de cellule vide) mais pour éviter toute erreur lors de la saisie j'aimerai que le while soit conditionné à la fois à la présence de cellule vides mais aussi à la rencontre éventuelle du bon numéro d'affaire(NAffaire = N° d'affaire)

En conséquence lorsque mon curseur rencontre du vide ou la valeur qui vient d'être entrée dans le fomulaire ( NAffaire) alors il copie la valeur NAffaire et décharge toute ses données en se décalant vers la droite petit à petit.

D'où ma question un While peut-il être conditionné avec 2 arguments <>0 et <>NAffaire

J'espère que j'ai été plus clair

encore merci

Julien.

Bonjour à tous,

Il me semble que tu puisses faire ça julien :

Range("C9").Select
   While ActiveCell.Value <> "0"  And  ActiveCell.Value <> NAffaire
ActiveCell.Offset(1, 0).Select
   Wend
   ActiveCell = NAffaire
  ActiveCell.Offset(0, 1).Select
  ActiveCell = Désignation
  ActiveCell.Offset(0, 1).Select
  ActiveCell = Raffaire
  ActiveCell.Offset(0, 1).Select 

Pourquoi ne pas avoir testé avant de poser la question?

re,

Ok. Ma proposition supposait que tu clique sur C9 et que c'est uniquement de cette cellule qui est concernée.

L'instruction suivante ACTIVECELL se rapporte à C9.

Ou alors autrement peut être ? Tu pars de C9 en controlant que le ligne suivantes en colonne C sont vide ou contiennent NAffaire ?

Peut être le code proposé par VBanew ?

A te relire

Dan

Bonjour,

Je vous prie de m'excuser pour ma réponse tardive,

Pour répondre à ta question vba-new je n'avais pas tenté car mon niveau en VBA se résume à tenter de comprendre le code que d'autres ont écrit puis de le modifier pour mon usage. Je n'étais pas certain du tout que cela puisse fonctionner..

je vous remercie pour votre aide, ça marche désormais..

Julien

Rechercher des sujets similaires à "while deux conditions"