Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

fonction qui fonctionne 1 fois

1 réponse
Avatar
cybertiti®
Salut

j'ai une fonction recherche qui fonctionne de fa=E7on al=E9atoire....

en faite je cherche dans une plage de cellule d'une feuille la valeur
a remplacer.

si je cherche sur une feuille ca fonctionne mais des que je passe a
une autre feuille ca merde..

une id=E9e .

mon code
nb: je pense que ca viens de l'instruction set car en mode pas a pas
elle m'indique la valeur nothing


Function recherche(nle_valeur As String, val_remplace As String,
feuille As String)

Dim Plage As Range
Dim Cellule As Range


On Error Resume Next
Set Plage =3D Sheets(feuille).Range(Cells(2, 1), Cells(50, 35))
' je cherche dans chaque cell de ma plage
For Each Cellule In Plage
On Error Resume Next
Cellule.Find(What:=3Dnle_valeur).Activate
If Err =3D 0 Then ' j'ai trouv=E9
Cellule.Value =3D val_remplace
End If
Next
Set Plage =3D Nothing
end function

1 réponse

Avatar
isabelle
salut cybertiti,

il ne faut jamais utilisé un nom (variable, fonction ou macro ) déjà utilisé par excel,

remplace
Function recherche(...

par
Function MaRecherche(...

par ailleurs une fonction ne peut que retourner une valeur et non agir sur plasieurs cellules,
et également dans la fonction il est impératif de retrouver cette commande :
MaRecherche = xx

isabelle



Salut

j'ai une fonction recherche qui fonctionne de façon aléatoire....

en faite je cherche dans une plage de cellule d'une feuille la valeur
a remplacer.

si je cherche sur une feuille ca fonctionne mais des que je passe a
une autre feuille ca merde..

une idée .

mon code
nb: je pense que ca viens de l'instruction set car en mode pas a pas
elle m'indique la valeur nothing


Function recherche(nle_valeur As String, val_remplace As String,
feuille As String)

Dim Plage As Range
Dim Cellule As Range


On Error Resume Next
Set Plage = Sheets(feuille).Range(Cells(2, 1), Cells(50, 35))
' je cherche dans chaque cell de ma plage
For Each Cellule In Plage
On Error Resume Next
Cellule.Find(What:=nle_valeur).Activate
If Err = 0 Then ' j'ai trouvé
Cellule.Value = val_remplace
End If
Next
Set Plage = Nothing
end function