Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA---recherche et inscription de numéros de lignes

  • Initiateur de la discussion Initiateur de la discussion JJ1
  • 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 !

J

JJ1

Guest
Bonsoir,

Je pense que cela est faisable par formule, mais vu le nombre de lignes à traiter, il est préférable de traiter par VBA à mon avis.
Je voudrais écrire successivement à partir de la colonne L toutes les premières lignes où se situent quatre nombres (inscrits en H:K) dans un maximum de trois lignes.
Je donne deux exemples (jaune et bleu avec le résultat attendu en L1:N1 et L2:M2
Merci à l'avance.
J'adapterai ensuite ce code à mon fichier grandeur nature sous Excel 2007 (>65000 lignes). Si la plage A:F n'est pas grande (environ 500 lignes), la plage H1:Kx est importante.
Bonne soirée et merci.
 

Pièces jointes

Re : VBA---recherche et inscription de numéros de lignes

Bonjour Néné06,
Merci pour ton code, je viens de l'installer, il fonctionne (on voit bien le défilement de la recherche)
Je vais tester sur un nombre important de lignes en H:K, je pense que le processeur va s'affoler et chauffer un tantinet....(je dirai le temps, mais à mon avis plusieurs heures pour 200000 tests)
Bonne soirée
A bientôt
 
Re : VBA---recherche et inscription de numéros de lignes

Re bonsoir,
Effectivement le select ralentit beaucoup.
J'ai vérifié le résultat, il est faux quand les 4 nombres sont sur 2 lignes, il note la ligne du dessus non concernée?
J'ai noté en rouge 2 exemples (ligne 110 notamment)
Si tu as un moment pour me dire où je dois corriger.
Merci encore
Bonne soirée

ps: j'ai mis > à 15 (au lieu de 18) car 5 colonnes A:E au lieu de 6.
 

Pièces jointes

Dernière modification par un modérateur:
Re : VBA---recherche et inscription de numéros de lignes

Re,
Merci de ta réponse, en ligne 110, il y a : 44 29 11 7 13 et la recherche se fait sur 1 2 4 9 ? la première ligne où commence la série de 4 est donc 111 (où 1 2 4 9 se groupent sur 2 lignes 111 et 112 ) et pas 110?
Dis moi si problème?
merci
 
Re : VBA---recherche et inscription de numéros de lignes

J'ai considéré que ta recherche de quatre chiffres doit être présente dans une suite de trois lignes.
Sur les trois lignes 110-111-112 je trouve bien 1 2 4 9 ( en ligne 111 et 112) .
Il faudrait modifier le programme pour qu'il ne prennent pas une suite de trois lignes , mais que à partir d'une ligne où existe un des quatre chiffres cherchés, il vérifie que dans cette ligne et les deux suivante , il trouve les trois chiffres suivants.
Est-ce exact ???

A+
 
Re : VBA---recherche et inscription de numéros de lignes

Do Until jw > 18
If jw < 7 And trouve = 0 Then Exit Do ' en rajoutant cette ligne, si ne trouve pas un des chiffres ,passe à la ligne suivante
If NB_cherche(iw) = NB_existe(jw) Then
trouve = 1
Exit Do
End If
jw = jw + 1
trouve = 0
Loop
 
Re : VBA---recherche et inscription de numéros de lignes

Re,
Les 4 nombres doivent se situer au maximum sur 3 lignes consécutives pour que la macro renvoie la 1ère ligne.
Mais les 4 nombres peuvent être sur 1 ou 2 lignes.(pas dispersés sur 4 ou plus) et la macro donne toujours la première ligne.

Est -ce difficile de rectifier juste cette condition?
merci


Bing, on s'est croisés, je modifie avec la ligne que tu as ajoutée.
Je te dis.
merci
 
Dernière modification par un modérateur:
Re : VBA---recherche et inscription de numéros de lignes

Oui on s'est croisé!
J'ai ajouté la ligne, il ne trouve plus rien?
je pense que <7 ne doit pas correspondre avec mon >15 (3 lignes maximum de 5 nombres).
Qu'en penses tu?
merci

Si trop compliqué, ne t'embête pas, je ferai avec le premier code.
 
Re : VBA---recherche et inscription de numéros de lignes

Idem avec = 6 (j'a essayé 5 aussi) mais aucun résultat, à mon avis Exit Do doit l'empêcher de trouver.

T'embête pas, je fais avec le premier code qui fonctionne avec juste ce problème de 2 lignes.
Encore merci à toi.
A+
 
- 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.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…