Si valeur de la cellule comprise dans une liste

william68

XLDnaute Nouveau
Bonjour,

Je souhaite faire une boucle qui compare une cellule choisie avec une liste définie par le nom "Routes" se trouvant sur une autre feuille.

Si la valeur de la cellule examinée se trouve dans cette liste je souhaite envoyer cette information dans une autre cellule.

Pour l'instant j'ai fait cette petite boucle:

For i = 2 To lastline
If Cells(i, 1).Value = Routes Then
Cells(i, 8).Value = Cells(i, 1).Value
End If
Next i

Mais il ne se passe rien.

lastline est définit juste avant et là n'est pas le problème.

Si quelqu'un a une idée pour la syntaxe.

Merci d'avance
 
C

Compte Supprimé 979

Guest
Re : Si valeur de la cellule comprise dans une liste

Salut Willima68,

Tout dépend pour quoi c'est faire, mais essaye plutôt : Find

expression.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)
expression Obligatoire. Expression qui renvoie un objet Range.
What Argument de type Variant obligatoire. Données à rechercher. Il peut s'agir d'une chaîne de caractères ou de tout autre type de données Microsoft Excel.
After Argument de type Variant facultatif. Cellule après laquelle vous souhaitez commencer la recherche. Cela correspond à la position de la cellule active lorsqu'une recherche est effectuée à partir de l'interface utilisateur. Notez que l'argument After doit correspondre à une seule cellule dans la plage. Rappelez-vous que la recherche commence après cette cellule ; la cellule spécifiée n'est pas recherchée jusqu'à ce que la méthode reviennent à cette cellule. Si vous ne spécifiez pas cet argument, la recherche commence après la cellule située dans le coin supérieur gauche de la plage.
LookIn Argument de type Variant facultatif. Type d'informations.
LookAt Argument de type Variant facultatif. Il peut s'agir de l'une des constantesXlLookAt suivantes : xlWhole ou xlPart.
SearchOrder Argument de type Variant facultatif. Il peut s'agir de l'une des constantes XlSearchOrder suivantes : xlByRows ou xlByColumns.
SearchDirection Argument de type XlSearchDirection facultatif. Direction de la recherche.
XlSearchDirection peut être l'une de ces constantes XlSearchDirection.xlNext par défautxlPrevious

MatchCase Argument de type Variant facultatif. Affectez-lui la valeur True pour que la recherche respecte la casse. La valeur par défaut est False.
MatchByte Argument de type Variant facultatif. Cet argument est utilisé uniquement si vous avez sélectionné ou installé la prise en charge des langues codées sur deux octets. Affectez-lui la valeur True pour que les caractères codés sur deux octets ne correspondent qu'aux caractères codés sur deux octets. Affectez-lui la valeur False pour que les caractères codés sur deux octets correspondent à leurs équivalents codés sur un octet.
SearchFormat Argument de type Variant facultatif. Format de la recherche.

A+
 

skoobi

XLDnaute Barbatruc
Re : Si valeur de la cellule comprise dans une liste

Bonjour william68,

sans avoir vu le fichier, peut-être ceci:

Code:
Sub test()
Dim MaListe As Range

lastline = ??????
Set MaListe = Range("Routes")
For i = 2 To lastline
If Not MaListe.Find(Cells(i, 1).Value, , xlValues, xlWhole) Is Nothing Then Cells(i, 8).Value = Cells(i, 1).Value
Next i
End Sub
Edit: salut Bruno :), on a la même solution je vois ;)
 
Dernière édition:

skoobi

XLDnaute Barbatruc
Re : Si valeur de la cellule comprise dans une liste

Re,

dans ce cas il faut remplacer:

Code:
Cells(i, 8).Value = Cells(i, 1).Value
par
Code:
Rows(i).Delete

Mais attention, il faut "boucler" dans l'ordre décroissant quand on fait une suppression de ligne:

Code:
For i = lastline To 2 Step -1
 

Discussions similaires

Statistiques des forums

Discussions
312 505
Messages
2 089 092
Membres
104 028
dernier inscrit
alain Barthe