fonction qui fonctionne 1 fois

Le
cybertiti®
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #4478311
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



Publicité
Poster une réponse
Anonyme