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

Microsoft 365 Excel VBA formule MAX IF avec des variables

myspace449

XLDnaute Nouveau
Bonjour, je suis débutante en vba. Je bloque depuis des heures sur une erreur, j'arrive pas à trouver la solution. J'espère compter sur votre expertise
Voilà j'ai fait un petit code qui tourne plutôt bien. Pas de bug. Par contre la ligne que j'ai mis en jaune dans le code me renvoie une erreur dans mon fichier Excel: #NOM? Erreur due à un nom non valide. Quand je clique dans la cellule qui contient l'erreur, je vois afficher dans la barre de formule: =MAX(SI(SQL!Range("B1:B1000")<Feuil3!Range("F" & i);SQL!Range("B1:B1000"))). La ligne de code surlignée en jaune devrait me renvoyer une date.
Merci d'avance pour votre aide


Sub Macro1()
Dim i As Integer, a As Integer, e As Integer

i = 2
a = 2
e = 1


Do While i < 3000
Sheets("Feuil3").Select
If Range("B" & i) = Range("H" & a) Then
Range("H" & a & ":" & "K" & a).Select
Selection.Copy
Sheets("SQL").Select
Range("A" & e).Select
ActiveSheet.Paste
a = a + 1
e = e + 1
ElseIf Range("B" & i) = Range("H" & a - 1) Then
Range("L" & i).Value = "=MAX(IF(SQL!Range(""B1:B1000"")<Feuil3!Range(""F"" & i),SQL!Range(""B1:B1000"")))"

End If
Loop

End Sub
 

Fred0o

XLDnaute Barbatruc
Bojour Myspace449

Essaie peut-etre de remplacer la ligne jaune par celle-ci :
VB:
Range("L" & i).Value = "=MAX(IF(SQL!Range(""B1:B1000"")<Feuil3!Range(""F" & i & "),SQL!Range(""B1:B1000"")))"
 

myspace449

XLDnaute Nouveau
Bonjour Fred0o, merci pour ton retour, j'ai remplacé la ligne par celle que tu as envoyée. Elle me renvoie un bug quand la macro s'exécute:

Erreur d'exécution '1004', Erreur définie par l'application ou par l'objet
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…