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

RECHERCHE VALEUR EN VBA 2 criteres

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

reve24

XLDnaute Occasionnel
Bonjour

Comment puis je modifier mon code pour faire une recherche valeur suivant 2 criteres .

J ai pour l instant ma formule
=SOMMEPROD((Data!W4:W12=D7)*(Data!X3:AD3=K7)*(Data!X1:AD1))

Et j ai mon code pour suivant col "G" il trouve Col "U"
Sub DataComptable()
Sheets("BaseDonnée").Range("U7:U65536").ClearContents
For n = 7 To Sheets("BaseDonnée").Range("G65536").End(xlUp).Row
Set c = Sheets("Data").Columns(4).Find(Sheets("BaseDonnée").Range("G" & n), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
Sheets("Data").Range("E" & c.Row).Copy Destination:=Sheets("BaseDonnée").Range("U" & n)
Else
Sheets("BaseDonnée").Range("U" & n) = ""
End If
Next n
End Sub


J aimerai faire la suite

Si col "D" & col "K" alors colonne W suvant data tableau ou Colonnes AF AG AH

Merci
 

Pièces jointes

Re : RECHERCHE VALEUR EN VBA 2 criteres

Bonjour.
Vous auriez sans doute intérêt à travailler plutôt avec des Dictionary. Et pour une recherche à plusieurs critères vous pouvez en imbriquer plusieurs.
 
Re : RECHERCHE VALEUR EN VBA 2 criteres

Le problème avec les macros qui utilisent tout le temps Range, c'est qu'elles sont horriblement lentes !
Les secondes s'ajoutent aux secondes toutes les 100 lignes environ…
 
Dernière édition:
Re : RECHERCHE VALEUR EN VBA 2 criteres

Bonjour.
Faut pas baisser les bras comme ça !
La propriété Value d'une plage de plusieurs cellules contiguës consiste directement en un tableau de Variant et peut être affectée à une variable ayant été déclarée avec "()" derrière son nom.
 
Re : RECHERCHE VALEUR EN VBA 2 criteres

Bonjour tout le monde, bonjour le Forum,

Excusez-moi de m'inviter dans ce fil, mais je voudrais savoir si j'ai bien compris la remarque de Dranreb. On pourrait procéder de la façon suivante :

Dim Plage() As Variant
Plage = Range("A1:Z100").Value

ce qui optimiserait le code ?

Merci
 
Dernière édition:
Re : RECHERCHE VALEUR EN VBA 2 criteres

Bonsoir.
Oui c'est tout à fait cela. Encore que pour éviter toute confusion je ne l'appellerais pas Plage: c'est un nom que je réserve plutôt à des variables As Range. Je les appelle souvent TV(), Te(), Ts(). e pour entrée, s pour sortie. Car l'inverse marche aussi:
Range("A1:Z100").Value = Ts

Et entre les deux, des affectations genre Ts(Ls, Cs) = Te(Le, Ce) dans des boucles sont des milliers de fois plus rapides que des utilisations de méthodes Cells ou Range.
 
Dernière édition:
Re : RECHERCHE VALEUR EN VBA 2 criteres

Bonjour
Ecoutez beaucoup de bla bla (hihi😉hihihi😀)

Il faut des résultats à la longue .
J ai reussi avec une solution qui vous déplairat certainement mais elle est efficace .

Présentez la votre ! moi je suis qu un debutant je fais avec les moyens du bord et le temps que mon patron me permet 😡


regarde fichier il aurait ete sympas que tu donnes une solution AVEC UN FICHIER
 

Pièces jointes

- 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

Discussions similaires

Réponses
7
Affichages
664
  • Question Question
Microsoft 365 îPb code VBA
Réponses
1
Affichages
615
Réponses
3
Affichages
913
Réponses
1
Affichages
1 K
Réponses
1
Affichages
718
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…