A voir également:
- [VBE] find avec en paramètre une plage de cel
- Netflix paramètre compte - Guide
- Remettre parametre usine pc - Guide
- Parametre windows - Guide
- Find vba - Astuces et Solutions
- Changer parametre dns - Guide
5 réponses
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
27 août 2009 à 13:53
27 août 2009 à 13:53
Bonjour,
en faisant une boucle par exemple :
i= 2
j = 12
cells(i,j).select 'qui correspond à la première cellule de L1
do while selection <> ""
valeur = cells(i,j)
Set rRange = sheet("L2").Range("A1:C500").find( what:=valeur)
if rrange <> "" then
'si valeur trouvée....
else
'si valeur non trouvée...
end if
i=i+1
loop
en faisant une boucle par exemple :
i= 2
j = 12
cells(i,j).select 'qui correspond à la première cellule de L1
do while selection <> ""
valeur = cells(i,j)
Set rRange = sheet("L2").Range("A1:C500").find( what:=valeur)
if rrange <> "" then
'si valeur trouvée....
else
'si valeur non trouvée...
end if
i=i+1
loop
Déjà merci Melanie1324,
Ca voudrait dire que je fais la vérification cellule par cellule via une (énième) boucle, ce que je voudrais éviter.
J'ai une autre solution dans le genre mais qui est lourde.
Mais si ce n'est pas possible de faire autrement, je vais devoir faire ainsi...
Ca voudrait dire que je fais la vérification cellule par cellule via une (énième) boucle, ce que je voudrais éviter.
J'ai une autre solution dans le genre mais qui est lourde.
Mais si ce n'est pas possible de faire autrement, je vais devoir faire ainsi...
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
27 août 2009 à 15:26
27 août 2009 à 15:26
bonjour,
tu pourrais
erreur de message, excusez moi...
tu pourrais
erreur de message, excusez moi...
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
27 août 2009 à 15:54
27 août 2009 à 15:54
Re,
Si tu n'as que 500 lignes tu pourrais utiliser sans VBA la fonction matricielle EXACT en concaténant les 3 cellules de chaque liste
=EXACT(cells(lig_L1,1)&cells(lig_L1,2)&cells(lig_L1,3);cells(lig_L2)... ect
Sinon, en VBA tu pourrais utiliser l'objet Dictionary (2 cascades de dictionnary pour éviter d'avoir les concatenations des absents de L1 dans L2 et de L2 dans L1).
si tu coinces, dis le, je regarderais à mon retour....
Si tu n'as que 500 lignes tu pourrais utiliser sans VBA la fonction matricielle EXACT en concaténant les 3 cellules de chaque liste
=EXACT(cells(lig_L1,1)&cells(lig_L1,2)&cells(lig_L1,3);cells(lig_L2)... ect
Sinon, en VBA tu pourrais utiliser l'objet Dictionary (2 cascades de dictionnary pour éviter d'avoir les concatenations des absents de L1 dans L2 et de L2 dans L1).
si tu coinces, dis le, je regarderais à mon retour....
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Malheureusement, il y a (a priori) 2 problème :
- non, il n'y a pas que 500 lignes, ça serait plus 2000 au minimum
- le nombre de colonne est en fait une variable définie au tt début de mon code. pour la concaténation, ce n'est pas gagné.
Je vais me documenter sur l'objet Dictionary que tu as cité.
Merci
- non, il n'y a pas que 500 lignes, ça serait plus 2000 au minimum
- le nombre de colonne est en fait une variable définie au tt début de mon code. pour la concaténation, ce n'est pas gagné.
Je vais me documenter sur l'objet Dictionary que tu as cité.
Merci