Si valeur de la cellule comprise dans une liste

  • Initiateur de la discussion Initiateur de la discussion william68
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

W

william68

Guest
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
 
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+
 
Re : Si valeur de la cellule comprise dans une liste

Ok merci je vais étudier cette voie.

Je pensais en fait que j'avais juste le type de mon ensemble "Routes" qui n'était pas bien définit et je ne sais pas comment le définir.
 
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:
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour