OVH Cloud OVH Cloud

Recherche Remplace VBA

11 réponses
Avatar
Caro
Bonjour,

Voici du code que j’ai trouvé un site et adapté pour moi. Il fonctionne
bien, seulement que le range que je dois modifier, contient des validations
par listes, et celles-ci ne sont pas prises en considération si le nom n’est
pas valide, le changement est fait de toute façon. Y aurait-il une façon de
contourner ce probléme ?.
Voici le code:

Sub Remplace()

txtSup = Application.InputBox("Quel personne désirez-vous remplacer ?")
txtRemp = Application.InputBox("Par quoi voulez-vous la remplacer ?")
Application.ScreenUpdating = False
Range("GI10 :IR84").Select
For Each C In Selection
C.Value = Application.Substitute(C.Value, txtSup, txtRemp)
Next C
End Sub

Merci pour vos idées.

1 réponse

1 2
Avatar
Caro
Bonsoir Jacquouille

Oui, bien sûr... Merci.

Caro


Bonsoir Caro
Juste en fin de macro, tu peux toujours mettre un msgbox "C'est fini,
tralala" -)
Bonne soirée
--
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
http://frederic.sigonneau.free.fr/

Jacquouille.

"Caro" a écrit dans le message de news:

J'ai trouvé une façon d'accélérer...

Puisque au changement de nom, toutes les heures se calculent au fur et à
mesure, dans ma macro, je vais mettre le calcul manuel avant de procéder.

Merci beaucoup.

Caro


Si j'ai bien compris :

Sub test2()
txtSup = Application.InputBox("Quel personne désirez-vous remplacer ?")
txtRemp = Application.InputBox("Par quoi voulez-vous la remplacer ?")
Application.ScreenUpdating = False
Range("GI10 :IR84").Select
If IsNumeric(Application.Match(txtRemp, Range("DQ10:DQ300"), 0)) Then
For Each C In Selection
C.Value = Application.Substitute(C.Value, txtSup, txtRemp)
Next C
Else
MsgBox "Nom incorrect"
End If
End Sub

Daniel
"Caro" a écrit dans le message de news:

Bonjour,

chaque cellule dans mon range a la validation suivante qui est la liste
du
personnel complet.:

DECALER($DQ$10;;;NBVAL($DQ$10:$DQ$300);1)


Dans quel cas le nom n'est pas valide ? sur quel critère se baser pour
dire
qu'il ne l'est pas ?
Daniel
"Caro" a écrit dans le message de
news:

Bonjour,

Un exemple de ce que je veux en faire ?
Je dois gérer des horaires mensuels de personnel. Si un employé
quitte,
il
est remplacé par une autre personne qui aura le même horaire que le
précédent, donc, au lieu de changer manuellement partout dans le
chiffrier,
j'effectuerais un recherche et remplace.

Merci.


Bonjour.
Tu peux donner un exemple ?
Cordialement.
Daniel
"Caro" a écrit dans le message de
news:

Bonjour,

Voici du code que j'ai trouvé un site et adapté pour moi. Il
fonctionne
bien, seulement que le range que je dois modifier, contient des
validations
par listes, et celles-ci ne sont pas prises en considération si
le
nom
n'est
pas valide, le changement est fait de toute façon. Y aurait-il
une
façon
de
contourner ce probléme ?.
Voici le code:

Sub Remplace()

txtSup = Application.InputBox("Quel personne désirez-vous
remplacer
?")
txtRemp = Application.InputBox("Par quoi voulez-vous la remplacer
?")
Application.ScreenUpdating = False
Range("GI10 :IR84").Select
For Each C In Selection
C.Value = Application.Substitute(C.Value, txtSup, txtRemp)
Next C
End Sub

Merci pour vos idées.




























1 2