VBA recherche V selon colonne
Alex Nygal a écrit :Serait-ce possible n'empêcher ce code de s'exécuter en continu ?
Oui, mais quel est le but ? Je me permets de poser la question car ça risque quand même de générer du travail.
A te relire.
Lorsque j'incorpore ce code dans mon programme, il y a quelques petits soucis (pas des erreurs, mais c'est quand même gênant). J'explique :
Mon programme effectue d'abord sur l'emplacement, certaines actions qui modifient les cellules (les titres). Cela pour formater le tableau qui devra afficher les résultats de recherches.
Depuis que j'ai incorporé ce code dans mon programme, certaines actions sont très ralenties (avec "Ne répond pas", très long chargements).
Dès que je retire ce code de VBA, les actions sont bien plus fluides.
Je pense donc que cela vient du fait que je formate mes titres via une maccro, alors qu'Excel tente d'actualiser en temps réel les résultats. Les deux codes rentrent donc "en conflit", selon moi.
En incluant ce code dans une macro et non plus en action continue, cela me permettrait d'éviter ce conflit.
Merci d'avance pour votre aide et le temps que vous m'accordez,
Alex
Salut,
Je pense que si tu arrêtais de jouer à cache-cache, on pourrait combiner d’une manière intelligente ton code actuel avec le mien, à la place de devoir passer par un bouton.
Merci d’indiquer ce fil comme résolu dès que tu as ta solution, ce qui devrait être le cas avec le fichier ci-joint.
Sub xx()
Dim DerLig As Integer, Dernière_colonne As Integer, i As Integer, j As Integer
Range("B21:IV" & Rows.Count).ClearContents
DerLig = Sheets("Data").Range("A" & Rows.Count).End(xlUp).Row
Dernière_colonne = Range("B20").End(xlToRight).Column
For i = 2 To Dernière_colonne
On Error Resume Next
j = Application.WorksheetFunction.Match(Cells(20, i), Sheets("Data").Range("A1:IV1"), 0)
If j > 0 Then Sheets("Data").Range(Sheets("Data").Cells(2, j), Sheets("Data").Cells(DerLig, j)).Copy Cells(21, i)
j = 0
Next i
End SubCordialement.
Bonsoir Yvouille,
Merci pour ce dernier code.
Etant donné que mon programme exécute la recherche et l'extraction de données à partir d'un bouton, le fait de créer une macro à activer pour afficher les résultats ne pose pas de problème.
Je m'excuse pour l'aspect un peu fastidieux de cette résolution de sujet, je pensais vraiment avoir à chaque fois renseigné les éléments nécessaires pour que votre travail se calque parfaitement à mon programme.
Visiblement ce n'était pas le cas, indépendamment de ma volonté.
Je pense que mes trop maigres connaissances en VBA y sont pour quelque chose.
Quoi qu'il en soit le code marche correctement, et fait ce à quoi je m'attendais.
Tout est donc bon à présent.
Je vous remercie très sincèrement pour l'attention et le temps que vous avez porté pour m'aider.
Avec toute ma gratitude,
Alexandre.