Erreur de compilation
bonjour ,
j'ai essayé ce code qui me permet de faire une recherche sur une plage de données
j'ai eu un probléme de compilation à ce niveau la:
If (InStr(Cell.Value), "*") > 0 And (Instr(Cell.Value), "**") > 0 then
Dim Feuille As Worksheet, Cell As Range, Plage As Range
Dim Var1
Set Feuille = Worksheets("SBR")
With Feuille
Set Plage = .Range("X3:AG3")
For Each Cell In Plage
If (InStr(Cell.Value), "*") > 0 And (Instr(Cell.Value), "**") > 0 then
Significant_Recent_EN = "<br/>" & Sheets(1).Range("B45").Text & "<br/>" & Sheets(1).Range("B46").Text & "<br/>"
Significant_Recent_FR = "<br/>" & Sheets(1).Range("E45").Text & "<br/>" & Sheets(1).Range("E46").Text & "<br/>"
Next
End With
Set Feuille = Nothing
Set Plage = Nothing
bonsoir,
essaie ceci
If InStr(Cell.Value, "*") > 0 And Instr(Cell.Value, "**") > 0 then
y't il une façon de regler ça ; le code fonctionne super bien seulement quand il s'agit d' une définition de (**) il m'affiche aussi la défintion d'une seule (*), alors qu'il devrait m'afficher seulement la défintion de (**) ;
voici mon code
If Sheets(2).Cells(i, 23 + Exp).Value = "DNM" Then
If InStr(Sheets(2).Cells(3, 23 + Exp), "*") > 0 And Not Flag_1etoile Then
Flag_1etoile = True
Significant_EN = "<br/>" & Sheets(1).Range("B45").Text & "<br/>"
significant_FR = "<br/>" & Sheets(1).Range("E45").Text & "<br/>"
End If
If InStr(Sheets(2).Cells(3, 23 + Exp), "**") > 0 And Not Flag_2etoiles Then
Flag_2etoiles = True
Recent_EN = "<br/>" & Sheets(1).Range("B46").Text & "<br/>"
Recent_FR = "<br/>" & Sheets(1).Range("E46").Text & "<br/>"
End If
bonsoir,
une proposition à tester
If Sheets(2).Cells(i, 23 + Exp).Value = "DNM" Then
If InStr(Sheets(2).Cells(3, 23 + Exp), "**") > 0 Then
Flag_2etoiles = True
Recent_EN = "<br/>" & Sheets(1).Range("B46").Text & "<br/>"
Recent_FR = "<br/>" & Sheets(1).Range("E46").Text & "<br/>"
elseIf InStr(Sheets(2).Cells(3, 23 + Exp), "*") > 0 Then
Flag_1etoile = True
Significant_EN = "<br/>" & Sheets(1).Range("B45").Text & "<br/>"
significant_FR = "<br/>" & Sheets(1).Range("E45").Text & "<br/>"
End If
Merci pour votre initiative , ça fonctionnme parfaitement est que vous pourriez m'expliquer c'etait quoi le probléme exatcement ?
aussi maintenant ça fonctionne avec les deux cas (*) et (**) mais j 'ai un autre cas avec les *** en même temps [Significant** and recent* experience in providing strategic advice, both in writing and orally, to senior management (Director General, DG equivalent or higher) in relation to IM/IT services and solutions.] il m'affiche seulemt la defintion des (**)
Bonsoir,
le problème
l'instruction instr(x,"**") recherche la présence de 2 étoiles consécutives
l'instruction instr(x,"*") recherche la présence d'une étoile ce qui sera toujours vrai si la première recherche donne un résultat. quand il y a 2 étoiles, il y en a aussi une.
voici une adaptation du code qui permet de gérer la détection d'une étoile et de 2 étoiles.
If Sheets(2).Cells(i, 23 + Exp).Value = "DNM" Then
If InStr(Sheets(2).Cells(3, 23 + Exp), "**") > 0 Then
Flag_2etoiles = True
Recent_EN = "<br/>" & Sheets(1).Range("B46").Text & "<br/>"
Recent_FR = "<br/>" & Sheets(1).Range("E46").Text & "<br/>"
endif
if InStr(replace(Sheets(2).Cells(3, 23 + Exp), "**","##"),"*"") > 0 Then
Flag_1etoile = True
Significant_EN = "<br/>" & Sheets(1).Range("B45").Text & "<br/>"
significant_FR = "<br/>" & Sheets(1).Range("E45").Text & "<br/>"
End If
Merci beaucoup pour votre temps j'ai une erreur de syntaxe a ce niveau
If InStr(replace(Sheets(2).Cells(3, 23 + Exp), "**", "##"),"*"") > 0 Then
une faute de frappe
If Sheets(2).Cells(i, 23 + Exp).Value = "DNM" Then
If InStr(Sheets(2).Cells(3, 23 + Exp), "**") > 0 Then
Flag_2etoiles = True
Recent_EN = "<br/>" & Sheets(1).Range("B46").Text & "<br/>"
Recent_FR = "<br/>" & Sheets(1).Range("E46").Text & "<br/>"
endif
if InStr(replace(Sheets(2).Cells(3, 23 + Exp), "**","##"),"*") > 0 Then
Flag_1etoile = True
Significant_EN = "<br/>" & Sheets(1).Range("B45").Text & "<br/>"
significant_FR = "<br/>" & Sheets(1).Range("E45").Text & "<br/>"
End If
Merci Beaucoup h2so4
Bonne soiree