XL 2019 Recherche conditionnelle imbriquées et VBA

Jordan1

XLDnaute Nouveau
Bonjour,

Je cherche à faire une recherche conditionnelle imbriquée

Je dois rapatrier, dans le fichier Donnees, un prix qui est présent dans le fichier F 1mail21.

La clef de recherche dans Donnees est présente dans la colonne G

La clef de recherche dans F 1mail21 est présente dans la colonne A

Le prix a rapatrié est présent soit dans la colonne M soit dans la colonne O du fichier F 1mail21

Si le prix dans la colonne M est supérieur à celui présent dans la colonne O alors prendre le prix de la colonne M sinon c'est celui de la colonne O à prendre.

Voir l'essai de la formule VBA ci-dessous.

Merci de votre aide

Sub essaif()
Application.ScreenUpdating = False
Application.EnableEvents = False
Dim Ligne1 As Long, Ligne2 As Long, Ligne3 As Long, ligne4 As Long
Ligne2 = Sheets("Donnees").Range("G50").End(xlUp).Row
Ligne1 = Sheets("F 1mail21").Range("A50").End(xlUp).Row
Ligne3 = Sheets("F 1mail21").Range("M50").End(xlUp).Row
ligne4 = Sheets("F 1mail21").Range("O50").End(xlUp).Row
For n = 1 To Ligne2
For m = 1 To Ligne1
For p = 1 To Ligne3
For q = 1 To ligne4
If Sheets("Donnees").Range("G" & n) = Sheets("F 1mail21").Range("A" & m) Then
If p > 0 Then
Sheets("Donnees").Range("I" & n) = Sheets("F 1mail21").Range("M" & m)
Else
If Sheets("F 1mail21").Range("O50").End(xlUp).Row > Sheets("F 1mail21").Range("M50").End(xlUp).Row Then
Sheets("Donnees").Range("I" & n) = Sheets("F 1mail21").Range("O" & m)
End If
End If
End If
Application.ScreenUpdating = True
Application.EnableEvents = True
Next
Next
Next
Next
End Sub
 

Pièces jointes

  • Exemples pour consultation.xlsx
    11.5 KB · Affichages: 3

M12

XLDnaute Accro
Bonjour,

Je cherche à faire une recherche conditionnelle imbriquée

Je dois rapatrier, dans le fichier Donnees, un prix qui est présent dans le fichier F 1mail21.

La clef de recherche dans Donnees est présente dans la colonne G

La clef de recherche dans F 1mail21 est présente dans la colonne A

Le prix a rapatrié est présent soit dans la colonne M soit dans la colonne O du fichier F 1mail21

Si le prix dans la colonne M est supérieur à celui présent dans la colonne O alors prendre le prix de la colonne M sinon c'est celui de la colonne O à prendre.

Voir l'essai de la formule VBA ci-dessous.

Merci de votre aide

Sub essaif()
Application.ScreenUpdating = False
Application.EnableEvents = False
Dim Ligne1 As Long, Ligne2 As Long, Ligne3 As Long, ligne4 As Long
Ligne2 = Sheets("Donnees").Range("G50").End(xlUp).Row
Ligne1 = Sheets("F 1mail21").Range("A50").End(xlUp).Row
Ligne3 = Sheets("F 1mail21").Range("M50").End(xlUp).Row
ligne4 = Sheets("F 1mail21").Range("O50").End(xlUp).Row
For n = 1 To Ligne2
For m = 1 To Ligne1
For p = 1 To Ligne3
For q = 1 To ligne4
If Sheets("Donnees").Range("G" & n) = Sheets("F 1mail21").Range("A" & m) Then
If p > 0 Then
Sheets("Donnees").Range("I" & n) = Sheets("F 1mail21").Range("M" & m)
Else
If Sheets("F 1mail21").Range("O50").End(xlUp).Row > Sheets("F 1mail21").Range("M50").End(xlUp).Row Then
Sheets("Donnees").Range("I" & n) = Sheets("F 1mail21").Range("O" & m)
End If
End If
End If
Application.ScreenUpdating = True
Application.EnableEvents = True
Next
Next
Next
Next
End Sub
Bonjour,
Teste comme ceci
 

Pièces jointes

  • Exemples pour consultation.xlsm
    19.3 KB · Affichages: 7

Jordan1

XLDnaute Nouveau
Bonjour à toutes et tous,


Je rencontre deux cas de figures qui me posent problèmes.

  • L’un consiste à trouver le plus grand prix par référence produit quel que soit le conditionnement d’achat ( voir Exemple pour consultation 3) de la feuille Fournisseur et à le reporter dans la feuille Donnée
  • L’autre problème consiste (voir Exemple pour consultation 2) à trouver le prix par référence produit et par conditionnement d’achat de la feuille Fournisseur et à le reporter dans la feuille Donnée


Merci à vous les expert(e)s
 

Pièces jointes

  • Exemples pour consultation 3.xlsm
    11.5 KB · Affichages: 1
  • Exemples pour consultation 2.xlsm
    11.6 KB · Affichages: 1

fanch55

XLDnaute Barbatruc
Bonjour à toutes et tous,


Je rencontre deux cas de figures qui me posent problèmes.

  • L’un consiste à trouver le plus grand prix par référence produit quel que soit le conditionnement d’achat ( voir Exemple pour consultation 3) de la feuille Fournisseur et à le reporter dans la feuille Donnée
  • L’autre problème consiste (voir Exemple pour consultation 2) à trouver le prix par référence produit et par conditionnement d’achat de la feuille Fournisseur et à le reporter dans la feuille Donnée


Merci à vous les expert(e)s
Salut,
Si le post initial est résolu, marquer le post de @M12 en tant que solution .
Pour la dernière demande , entrer en modification et la couper/coller dans un nouveau post .
 

M12

XLDnaute Accro
Bonjour à toutes et tous,


Je rencontre deux cas de figures qui me posent problèmes.

  • L’un consiste à trouver le plus grand prix par référence produit quel que soit le conditionnement d’achat ( voir Exemple pour consultation 3) de la feuille Fournisseur et à le reporter dans la feuille Donnée
  • L’autre problème consiste (voir Exemple pour consultation 2) à trouver le prix par référence produit et par conditionnement d’achat de la feuille Fournisseur et à le reporter dans la feuille Donnée


Merci à vous les expert(e)s
A voir avec formules matricielles
 

Pièces jointes

  • Exemples pour consultation 2.xlsm
    11.8 KB · Affichages: 1
  • Exemples pour consultation 3.xlsm
    11.2 KB · Affichages: 1

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 335
Membres
102 865
dernier inscrit
FreyaSalander