Recherche conditionnelle imbriquées et VBA

Fermé
Victoria1975_3175 Messages postés 4 Date d'inscription mardi 1 novembre 2022 Statut Membre Dernière intervention 21 novembre 2022 - 21 nov. 2022 à 05:51
Whismeril Messages postés 19032 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 avril 2024 - 21 nov. 2022 à 07:14

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
Windows / Edge 107.0.1418.52

A voir également:

1 réponse

Whismeril Messages postés 19032 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 avril 2024 931
21 nov. 2022 à 07:14

Bonjour 

pour poster ton code, merci d'utiliser la.coloration syntaxique comme décrit là https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code

Ça va faciliter la lecture du code pour ceux qui pourraient t'aider et donc augmenter tes chances d'obtenir une réponse utile. D'autant que tu ne l'as pas indenté. Je sais que VBA ne fait pas l'indentation automatiquement, contrairement à beaucoup d'IDE, mais même pour toi ce serait bien plus facile à lire.


0